// export WeaponY , WeaponP1 , WeaponP2 , WeaponZ , Center ; starting begin strings = false ;
   0: LD_ADDR_EXP 27
   4: PUSH
   5: LD_INT 0
   7: ST_TO_ADDR
// WeaponY = false ;
   8: LD_ADDR_EXP 1
  12: PUSH
  13: LD_INT 0
  15: ST_TO_ADDR
// WeaponZ = false ;
  16: LD_ADDR_EXP 4
  20: PUSH
  21: LD_INT 0
  23: ST_TO_ADDR
// WeaponP1 = false ;
  24: LD_ADDR_EXP 2
  28: PUSH
  29: LD_INT 0
  31: ST_TO_ADDR
// WeaponP2 = false ;
  32: LD_ADDR_EXP 3
  36: PUSH
  37: LD_INT 0
  39: ST_TO_ADDR
// resetfog ;
  40: CALL_OW 335
// enable ( 10 ) ;
  44: LD_INT 10
  46: ENABLE_MARKED
// PrepareRussians ;
  47: CALL 709 0 0
// InGameOn ;
  51: CALL_OW 8
// disable ( 100 ) ;
  55: LD_INT 100
  57: DISABLE_MARKED
// disable ( 1000 ) ;
  58: LD_INT 1000
  60: DISABLE_MARKED
// enable ( 65 ) ;
  61: LD_INT 65
  63: ENABLE_MARKED
// Center = 1 ;
  64: LD_ADDR_EXP 5
  68: PUSH
  69: LD_INT 1
  71: ST_TO_ADDR
// BigAttack = 0 ;
  72: LD_ADDR_EXP 22
  76: PUSH
  77: LD_INT 0
  79: ST_TO_ADDR
// z1 = 0 ;
  80: LD_ADDR_EXP 19
  84: PUSH
  85: LD_INT 0
  87: ST_TO_ADDR
// x1 = 0 ;
  88: LD_ADDR_EXP 17
  92: PUSH
  93: LD_INT 0
  95: ST_TO_ADDR
// y1 = 0 ;
  96: LD_ADDR_EXP 18
 100: PUSH
 101: LD_INT 0
 103: ST_TO_ADDR
// SetBName ( depotAM1 , base-Doc ) ;
 104: LD_INT 452
 106: PPUSH
 107: LD_STRING base-Doc
 109: PPUSH
 110: CALL_OW 500
// SetBName ( depotAM2 , base-Prod ) ;
 114: LD_INT 480
 116: PPUSH
 117: LD_STRING base-Prod
 119: PPUSH
 120: CALL_OW 500
// SetBName ( depotAM3 , base-fac ) ;
 124: LD_INT 10
 126: PPUSH
 127: LD_STRING base-fac
 129: PPUSH
 130: CALL_OW 500
// end ;
 134: END
// every 0 0$01 trigger IsInArea ( Nefarem , StartDialog ) do
 135: LD_EXP 7
 139: PPUSH
 140: LD_INT 19
 142: PPUSH
 143: CALL_OW 308
 147: IFFALSE 450
 149: GO 151
 151: DISABLE
// begin Center = 0 ;
 152: LD_ADDR_EXP 5
 156: PUSH
 157: LD_INT 0
 159: ST_TO_ADDR
// ComExitVehicle ( Nefarem ) ;
 160: LD_EXP 7
 164: PPUSH
 165: CALL_OW 121
// ChangeSideFog ( 4 , 1 ) ;
 169: LD_INT 4
 171: PPUSH
 172: LD_INT 1
 174: PPUSH
 175: CALL_OW 343
// Say ( Nefarem , A1 ) ;
 179: LD_EXP 7
 183: PPUSH
 184: LD_STRING A1
 186: PPUSH
 187: CALL_OW 88
// ComExitBuilding ( EngAM ) ;
 191: LD_EXP 14
 195: PPUSH
 196: CALL_OW 122
// ComExitBuilding ( UnitsInside ( factoryAM1 ) ) ;
 200: LD_INT 456
 202: PPUSH
 203: CALL_OW 313
 207: PPUSH
 208: CALL_OW 122
// Say ( EngAM , A2 ) ;
 212: LD_EXP 14
 216: PPUSH
 217: LD_STRING A2
 219: PPUSH
 220: CALL_OW 88
// Say ( Nefarem , A3 ) ;
 224: LD_EXP 7
 228: PPUSH
 229: LD_STRING A3
 231: PPUSH
 232: CALL_OW 88
// Say ( EngAM , A4 ) ;
 236: LD_EXP 14
 240: PPUSH
 241: LD_STRING A4
 243: PPUSH
 244: CALL_OW 88
// Say ( Nefarem , A5 ) ;
 248: LD_EXP 7
 252: PPUSH
 253: LD_STRING A5
 255: PPUSH
 256: CALL_OW 88
// CenterOnUnits ( depotAM1 ) ;
 260: LD_INT 452
 262: PPUSH
 263: CALL_OW 85
// Say ( EngAM , A6 ) ;
 267: LD_EXP 14
 271: PPUSH
 272: LD_STRING A6
 274: PPUSH
 275: CALL_OW 88
// Say ( EngAM , A7 ) ;
 279: LD_EXP 14
 283: PPUSH
 284: LD_STRING A7
 286: PPUSH
 287: CALL_OW 88
// PlaceUnitArea ( mechAM , areaMech , false ) ;
 291: LD_EXP 12
 295: PPUSH
 296: LD_INT 22
 298: PPUSH
 299: LD_INT 0
 301: PPUSH
 302: CALL_OW 49
// CenterOnUnits ( depotAM3 ) ;
 306: LD_INT 10
 308: PPUSH
 309: CALL_OW 85
// Say ( EngAM , A8 ) ;
 313: LD_EXP 14
 317: PPUSH
 318: LD_STRING A8
 320: PPUSH
 321: CALL_OW 88
// CenterOnUnits ( depotAM2 ) ;
 325: LD_INT 480
 327: PPUSH
 328: CALL_OW 85
// Say ( EngAM , A9 ) ;
 332: LD_EXP 14
 336: PPUSH
 337: LD_STRING A9
 339: PPUSH
 340: CALL_OW 88
// Say ( Nefarem , A10 ) ;
 344: LD_EXP 7
 348: PPUSH
 349: LD_STRING A10
 351: PPUSH
 352: CALL_OW 88
// SpawnVehiclesLeft ;
 356: CALL 5995 0 0
// SpawnVehiclesRight ;
 360: CALL 6726 0 0
// InGameOff ;
 364: CALL_OW 9
// SetSide ( FilterAllUnits ( [ f_side , 1 ] ) , 4 ) ;
 368: LD_INT 22
 370: PUSH
 371: LD_INT 1
 373: PUSH
 374: EMPTY
 375: LIST
 376: LIST
 377: PPUSH
 378: CALL_OW 69
 382: PPUSH
 383: LD_INT 4
 385: PPUSH
 386: CALL_OW 235
// SetSide ( AmericanPerson , 4 ) ;
 390: LD_EXP 6
 394: PPUSH
 395: LD_INT 4
 397: PPUSH
 398: CALL_OW 235
// ChangeMissionObjectives ( M1 ) ;
 402: LD_STRING M1
 404: PPUSH
 405: CALL_OW 337
// SaveForQuickRestart ;
 409: CALL_OW 22
// strings = true ;
 413: LD_ADDR_EXP 27
 417: PUSH
 418: LD_INT 1
 420: ST_TO_ADDR
// enable ( 100 ) ;
 421: LD_INT 100
 423: ENABLE_MARKED
// enable ( 1000 ) ;
 424: LD_INT 1000
 426: ENABLE_MARKED
// disable ( 10 ) ;
 427: LD_INT 10
 429: DISABLE_MARKED
// case query ( FirstQuery ) of 1 :
 430: LD_STRING FirstQuery
 432: PPUSH
 433: CALL_OW 97
 437: PUSH
 438: LD_INT 1
 440: DOUBLE
 441: EQUAL
 442: IFTRUE 446
 444: GO 449
 446: POP
// begin end ; end ;
 447: GO 450
 449: POP
// end ;
 450: END
// every 0 0$01 trigger GetTech ( tech_Weap2 , 4 ) = state_researched and IsLive ( DocAM ) do
 451: LD_INT 52
 453: PPUSH
 454: LD_INT 4
 456: PPUSH
 457: CALL_OW 321
 461: PUSH
 462: LD_INT 2
 464: EQUAL
 465: PUSH
 466: LD_EXP 13
 470: PPUSH
 471: CALL_OW 300
 475: AND
 476: IFFALSE 548
 478: GO 480
 480: DISABLE
// begin SayRadio ( DocAM , C1 ) ;
 481: LD_EXP 13
 485: PPUSH
 486: LD_STRING C1
 488: PPUSH
 489: CALL_OW 94
// SayRadio ( Nefarem , C2 ) ;
 493: LD_EXP 7
 497: PPUSH
 498: LD_STRING C2
 500: PPUSH
 501: CALL_OW 94
// ChangeMissionObjectives ( M3 ) ;
 505: LD_STRING M3
 507: PPUSH
 508: CALL_OW 337
// case query ( HGquery ) of 1 :
 512: LD_STRING HGquery
 514: PPUSH
 515: CALL_OW 97
 519: PUSH
 520: LD_INT 1
 522: DOUBLE
 523: EQUAL
 524: IFTRUE 528
 526: GO 531
 528: POP
// begin end ; end ;
 529: GO 532
 531: POP
// WeaponY = true ;
 532: LD_ADDR_EXP 1
 536: PUSH
 537: LD_INT 1
 539: ST_TO_ADDR
// WeaponZ = true ;
 540: LD_ADDR_EXP 4
 544: PUSH
 545: LD_INT 1
 547: ST_TO_ADDR
// end ;
 548: END
// every 0 0$05 do
 549: GO 551
 551: DISABLE
// begin enable ;
 552: ENABLE
// if WeaponY = true and IsInArea ( DocAM , BaseYTechnology ) then
 553: LD_EXP 1
 557: PUSH
 558: LD_INT 1
 560: EQUAL
 561: PUSH
 562: LD_EXP 13
 566: PPUSH
 567: LD_INT 20
 569: PPUSH
 570: CALL_OW 308
 574: AND
 575: IFFALSE 607
// begin Say ( docAM , D1 ) ;
 577: LD_EXP 13
 581: PPUSH
 582: LD_STRING D1
 584: PPUSH
 585: CALL_OW 88
// WeaponP1 = true ;
 589: LD_ADDR_EXP 2
 593: PUSH
 594: LD_INT 1
 596: ST_TO_ADDR
// WeaponY = false ;
 597: LD_ADDR_EXP 1
 601: PUSH
 602: LD_INT 0
 604: ST_TO_ADDR
// end else
 605: GO 659
// if WeaponZ = true and IsInArea ( DocAM , BaseZTechnology ) then
 607: LD_EXP 4
 611: PUSH
 612: LD_INT 1
 614: EQUAL
 615: PUSH
 616: LD_EXP 13
 620: PPUSH
 621: LD_INT 21
 623: PPUSH
 624: CALL_OW 308
 628: AND
 629: IFFALSE 659
// begin Say ( docAM , D1 ) ;
 631: LD_EXP 13
 635: PPUSH
 636: LD_STRING D1
 638: PPUSH
 639: CALL_OW 88
// WeaponP2 = true ;
 643: LD_ADDR_EXP 3
 647: PUSH
 648: LD_INT 1
 650: ST_TO_ADDR
// WeaponZ = false ;
 651: LD_ADDR_EXP 4
 655: PUSH
 656: LD_INT 0
 658: ST_TO_ADDR
// end ; end ;
 659: END
// every 0 0$01 trigger WeaponP1 = true and WeaponP2 = true do
 660: LD_EXP 2
 664: PUSH
 665: LD_INT 1
 667: EQUAL
 668: PUSH
 669: LD_EXP 3
 673: PUSH
 674: LD_INT 1
 676: EQUAL
 677: AND
 678: IFFALSE 708
 680: GO 682
 682: DISABLE
// begin Say ( docAM , D3 ) ;
 683: LD_EXP 13
 687: PPUSH
 688: LD_STRING D3
 690: PPUSH
 691: CALL_OW 88
// SetTech ( tech_AdvMet , 4 , state_enabled ) ;
 695: LD_INT 34
 697: PPUSH
 698: LD_INT 4
 700: PPUSH
 701: LD_INT 1
 703: PPUSH
 704: CALL_OW 322
// end ; end_of_file
 708: END
// export AmericanPerson ; export function PrepareRussians ; var MedVar , MedValue , Ru1_turrets , Ru2_turrets , Am1_turrets , i , un , l , SolLevel , EngLevel , MechLevel , DocLevel ; begin
 709: LD_INT 0
 711: PPUSH
 712: PPUSH
 713: PPUSH
 714: PPUSH
 715: PPUSH
 716: PPUSH
 717: PPUSH
 718: PPUSH
 719: PPUSH
 720: PPUSH
 721: PPUSH
 722: PPUSH
 723: PPUSH
// MedVar := LoadVariable ( medal_variable , 0 ) ;
 724: LD_ADDR_VAR 0 2
 728: PUSH
 729: LD_STRING medal_variable
 731: PPUSH
 732: LD_INT 0
 734: PPUSH
 735: CALL_OW 30
 739: ST_TO_ADDR
// if MedVar = 1 then
 740: LD_VAR 0 2
 744: PUSH
 745: LD_INT 1
 747: EQUAL
 748: IFFALSE 760
// begin MedValue = 0 ;
 750: LD_ADDR_VAR 0 3
 754: PUSH
 755: LD_INT 0
 757: ST_TO_ADDR
// end else
 758: GO 778
// if MedVar = 2 then
 760: LD_VAR 0 2
 764: PUSH
 765: LD_INT 2
 767: EQUAL
 768: IFFALSE 778
// begin MedValue = 2 ;
 770: LD_ADDR_VAR 0 3
 774: PUSH
 775: LD_INT 2
 777: ST_TO_ADDR
// end ; SolLevel := [ 6 , 6 , 7 ] [ Difficulty ] ;
 778: LD_ADDR_VAR 0 10
 782: PUSH
 783: LD_INT 6
 785: PUSH
 786: LD_INT 6
 788: PUSH
 789: LD_INT 7
 791: PUSH
 792: EMPTY
 793: LIST
 794: LIST
 795: LIST
 796: PUSH
 797: LD_OWVAR 67
 801: ARRAY
 802: ST_TO_ADDR
// EngLevel := [ 6 , 7 , 8 ] [ Difficulty ] ;
 803: LD_ADDR_VAR 0 11
 807: PUSH
 808: LD_INT 6
 810: PUSH
 811: LD_INT 7
 813: PUSH
 814: LD_INT 8
 816: PUSH
 817: EMPTY
 818: LIST
 819: LIST
 820: LIST
 821: PUSH
 822: LD_OWVAR 67
 826: ARRAY
 827: ST_TO_ADDR
// MechLevel := [ 5 , 6 , 7 ] [ Difficulty ] ;
 828: LD_ADDR_VAR 0 12
 832: PUSH
 833: LD_INT 5
 835: PUSH
 836: LD_INT 6
 838: PUSH
 839: LD_INT 7
 841: PUSH
 842: EMPTY
 843: LIST
 844: LIST
 845: LIST
 846: PUSH
 847: LD_OWVAR 67
 851: ARRAY
 852: ST_TO_ADDR
// DocLevel := [ 5 , 5 , 6 ] [ Difficulty ] ;
 853: LD_ADDR_VAR 0 13
 857: PUSH
 858: LD_INT 5
 860: PUSH
 861: LD_INT 5
 863: PUSH
 864: LD_INT 6
 866: PUSH
 867: EMPTY
 868: LIST
 869: LIST
 870: LIST
 871: PUSH
 872: LD_OWVAR 67
 876: ARRAY
 877: ST_TO_ADDR
// Ru1_turrets := FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_bunker ] ] ) ^ FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_breastwork ] ] ) ;
 878: LD_ADDR_VAR 0 4
 882: PUSH
 883: LD_INT 22
 885: PUSH
 886: LD_INT 3
 888: PUSH
 889: EMPTY
 890: LIST
 891: LIST
 892: PUSH
 893: LD_INT 30
 895: PUSH
 896: LD_INT 32
 898: PUSH
 899: EMPTY
 900: LIST
 901: LIST
 902: PUSH
 903: EMPTY
 904: LIST
 905: LIST
 906: PPUSH
 907: CALL_OW 69
 911: PUSH
 912: LD_INT 22
 914: PUSH
 915: LD_INT 3
 917: PUSH
 918: EMPTY
 919: LIST
 920: LIST
 921: PUSH
 922: LD_INT 30
 924: PUSH
 925: LD_INT 31
 927: PUSH
 928: EMPTY
 929: LIST
 930: LIST
 931: PUSH
 932: EMPTY
 933: LIST
 934: LIST
 935: PPUSH
 936: CALL_OW 69
 940: ADD
 941: ST_TO_ADDR
// hc_basic_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) ] ;
 942: LD_ADDR_OWVAR 30
 946: PUSH
 947: LD_INT 0
 949: PPUSH
 950: LD_INT 2
 952: PPUSH
 953: CALL_OW 12
 957: PUSH
 958: LD_INT 0
 960: PPUSH
 961: LD_INT 2
 963: PPUSH
 964: CALL_OW 12
 968: PUSH
 969: LD_INT 0
 971: PPUSH
 972: LD_INT 2
 974: PPUSH
 975: CALL_OW 12
 979: PUSH
 980: LD_INT 0
 982: PPUSH
 983: LD_INT 2
 985: PPUSH
 986: CALL_OW 12
 990: PUSH
 991: EMPTY
 992: LIST
 993: LIST
 994: LIST
 995: LIST
 996: ST_TO_ADDR
// hc_importance = 0 ;
 997: LD_ADDR_OWVAR 32
1001: PUSH
1002: LD_INT 0
1004: ST_TO_ADDR
// for i in Ru1_Turrets do
1005: LD_ADDR_VAR 0 7
1009: PUSH
1010: LD_VAR 0 4
1014: PUSH
1015: FOR_IN
1016: IFFALSE 1195
// begin if IsInUnit ( i ) = 0 then
1018: LD_VAR 0 7
1022: PPUSH
1023: CALL_OW 310
1027: PUSH
1028: LD_INT 0
1030: EQUAL
1031: IFFALSE 1193
// begin uc_side = 3 ;
1033: LD_ADDR_OWVAR 20
1037: PUSH
1038: LD_INT 3
1040: ST_TO_ADDR
// uc_nation = 3 ;
1041: LD_ADDR_OWVAR 21
1045: PUSH
1046: LD_INT 3
1048: ST_TO_ADDR
// hc_gallery =  ;
1049: LD_ADDR_OWVAR 33
1053: PUSH
1054: LD_STRING 
1056: ST_TO_ADDR
// hc_name =  ;
1057: LD_ADDR_OWVAR 26
1061: PUSH
1062: LD_STRING 
1064: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1065: LD_ADDR_OWVAR 29
1069: PUSH
1070: LD_INT 9
1072: PPUSH
1073: LD_INT 11
1075: PPUSH
1076: CALL_OW 12
1080: PUSH
1081: LD_INT 10
1083: PPUSH
1084: LD_INT 12
1086: PPUSH
1087: CALL_OW 12
1091: PUSH
1092: EMPTY
1093: LIST
1094: LIST
1095: ST_TO_ADDR
// hc_skills = [ SolLevel , Rand ( 1 , 5 ) , Rand ( 2 , 5 ) , Rand ( 0 , 4 ) ] ;
1096: LD_ADDR_OWVAR 31
1100: PUSH
1101: LD_VAR 0 10
1105: PUSH
1106: LD_INT 1
1108: PPUSH
1109: LD_INT 5
1111: PPUSH
1112: CALL_OW 12
1116: PUSH
1117: LD_INT 2
1119: PPUSH
1120: LD_INT 5
1122: PPUSH
1123: CALL_OW 12
1127: PUSH
1128: LD_INT 0
1130: PPUSH
1131: LD_INT 4
1133: PPUSH
1134: CALL_OW 12
1138: PUSH
1139: EMPTY
1140: LIST
1141: LIST
1142: LIST
1143: LIST
1144: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1145: LD_ADDR_OWVAR 27
1149: PUSH
1150: LD_INT 1
1152: PPUSH
1153: LD_INT 2
1155: PPUSH
1156: CALL_OW 12
1160: ST_TO_ADDR
// hc_class = 1 ;
1161: LD_ADDR_OWVAR 28
1165: PUSH
1166: LD_INT 1
1168: ST_TO_ADDR
// un := CreateHuman ;
1169: LD_ADDR_VAR 0 8
1173: PUSH
1174: CALL_OW 44
1178: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
1179: LD_VAR 0 8
1183: PPUSH
1184: LD_VAR 0 7
1188: PPUSH
1189: CALL_OW 52
// end ; end ;
1193: GO 1015
1195: POP
1196: POP
// Am1_turrets := FilterAllUnits ( [ [ f_side , 1 ] , [ f_btype , b_bunker ] ] ) ^ FilterAllUnits ( [ [ f_side , 1 ] , [ f_btype , b_breastwork ] ] ) ;
1197: LD_ADDR_VAR 0 6
1201: PUSH
1202: LD_INT 22
1204: PUSH
1205: LD_INT 1
1207: PUSH
1208: EMPTY
1209: LIST
1210: LIST
1211: PUSH
1212: LD_INT 30
1214: PUSH
1215: LD_INT 32
1217: PUSH
1218: EMPTY
1219: LIST
1220: LIST
1221: PUSH
1222: EMPTY
1223: LIST
1224: LIST
1225: PPUSH
1226: CALL_OW 69
1230: PUSH
1231: LD_INT 22
1233: PUSH
1234: LD_INT 1
1236: PUSH
1237: EMPTY
1238: LIST
1239: LIST
1240: PUSH
1241: LD_INT 30
1243: PUSH
1244: LD_INT 31
1246: PUSH
1247: EMPTY
1248: LIST
1249: LIST
1250: PUSH
1251: EMPTY
1252: LIST
1253: LIST
1254: PPUSH
1255: CALL_OW 69
1259: ADD
1260: ST_TO_ADDR
// for i in Am1_turrets do
1261: LD_ADDR_VAR 0 7
1265: PUSH
1266: LD_VAR 0 6
1270: PUSH
1271: FOR_IN
1272: IFFALSE 1477
// begin if IsInUnit ( i ) = 0 then
1274: LD_VAR 0 7
1278: PPUSH
1279: CALL_OW 310
1283: PUSH
1284: LD_INT 0
1286: EQUAL
1287: IFFALSE 1475
// begin uc_side = 1 ;
1289: LD_ADDR_OWVAR 20
1293: PUSH
1294: LD_INT 1
1296: ST_TO_ADDR
// uc_nation = 1 ;
1297: LD_ADDR_OWVAR 21
1301: PUSH
1302: LD_INT 1
1304: ST_TO_ADDR
// hc_gallery =  ;
1305: LD_ADDR_OWVAR 33
1309: PUSH
1310: LD_STRING 
1312: ST_TO_ADDR
// hc_name =  ;
1313: LD_ADDR_OWVAR 26
1317: PUSH
1318: LD_STRING 
1320: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1321: LD_ADDR_OWVAR 29
1325: PUSH
1326: LD_INT 9
1328: PPUSH
1329: LD_INT 11
1331: PPUSH
1332: CALL_OW 12
1336: PUSH
1337: LD_INT 10
1339: PPUSH
1340: LD_INT 12
1342: PPUSH
1343: CALL_OW 12
1347: PUSH
1348: EMPTY
1349: LIST
1350: LIST
1351: ST_TO_ADDR
// hc_skills = [ 6 - Rand ( 0 , 2 ) , Rand ( 0 , 3 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
1352: LD_ADDR_OWVAR 31
1356: PUSH
1357: LD_INT 6
1359: PUSH
1360: LD_INT 0
1362: PPUSH
1363: LD_INT 2
1365: PPUSH
1366: CALL_OW 12
1370: MINUS
1371: PUSH
1372: LD_INT 0
1374: PPUSH
1375: LD_INT 3
1377: PPUSH
1378: CALL_OW 12
1382: PUSH
1383: LD_INT 0
1385: PPUSH
1386: LD_INT 3
1388: PPUSH
1389: CALL_OW 12
1393: PUSH
1394: LD_INT 0
1396: PPUSH
1397: LD_INT 2
1399: PPUSH
1400: CALL_OW 12
1404: PUSH
1405: EMPTY
1406: LIST
1407: LIST
1408: LIST
1409: LIST
1410: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1411: LD_ADDR_OWVAR 27
1415: PUSH
1416: LD_INT 1
1418: PPUSH
1419: LD_INT 2
1421: PPUSH
1422: CALL_OW 12
1426: ST_TO_ADDR
// hc_class = 1 ;
1427: LD_ADDR_OWVAR 28
1431: PUSH
1432: LD_INT 1
1434: ST_TO_ADDR
// un := CreateHuman ;
1435: LD_ADDR_VAR 0 8
1439: PUSH
1440: CALL_OW 44
1444: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
1445: LD_VAR 0 8
1449: PPUSH
1450: LD_VAR 0 7
1454: PPUSH
1455: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
1459: LD_ADDR_EXP 6
1463: PUSH
1464: LD_EXP 6
1468: PUSH
1469: LD_VAR 0 8
1473: ADD
1474: ST_TO_ADDR
// end ; end ;
1475: GO 1271
1477: POP
1478: POP
// for i in depotRU1 do
1479: LD_ADDR_VAR 0 7
1483: PUSH
1484: LD_INT 57
1486: PUSH
1487: FOR_IN
1488: IFFALSE 1697
// begin l = 0 ;
1490: LD_ADDR_VAR 0 9
1494: PUSH
1495: LD_INT 0
1497: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
1498: LD_VAR 0 7
1502: PPUSH
1503: CALL_OW 310
1507: PUSH
1508: LD_INT 0
1510: EQUAL
1511: IFFALSE 1695
// begin repeat begin uc_side = 3 ;
1513: LD_ADDR_OWVAR 20
1517: PUSH
1518: LD_INT 3
1520: ST_TO_ADDR
// uc_nation = 3 ;
1521: LD_ADDR_OWVAR 21
1525: PUSH
1526: LD_INT 3
1528: ST_TO_ADDR
// hc_gallery =  ;
1529: LD_ADDR_OWVAR 33
1533: PUSH
1534: LD_STRING 
1536: ST_TO_ADDR
// hc_name =  ;
1537: LD_ADDR_OWVAR 26
1541: PUSH
1542: LD_STRING 
1544: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1545: LD_ADDR_OWVAR 29
1549: PUSH
1550: LD_INT 9
1552: PPUSH
1553: LD_INT 11
1555: PPUSH
1556: CALL_OW 12
1560: PUSH
1561: LD_INT 10
1563: PPUSH
1564: LD_INT 12
1566: PPUSH
1567: CALL_OW 12
1571: PUSH
1572: EMPTY
1573: LIST
1574: LIST
1575: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 3 ) , EngLevel , Rand ( 2 , 4 ) , Rand ( 0 , 3 ) ] ;
1576: LD_ADDR_OWVAR 31
1580: PUSH
1581: LD_INT 1
1583: PPUSH
1584: LD_INT 3
1586: PPUSH
1587: CALL_OW 12
1591: PUSH
1592: LD_VAR 0 11
1596: PUSH
1597: LD_INT 2
1599: PPUSH
1600: LD_INT 4
1602: PPUSH
1603: CALL_OW 12
1607: PUSH
1608: LD_INT 0
1610: PPUSH
1611: LD_INT 3
1613: PPUSH
1614: CALL_OW 12
1618: PUSH
1619: EMPTY
1620: LIST
1621: LIST
1622: LIST
1623: LIST
1624: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1625: LD_ADDR_OWVAR 27
1629: PUSH
1630: LD_INT 1
1632: PPUSH
1633: LD_INT 2
1635: PPUSH
1636: CALL_OW 12
1640: ST_TO_ADDR
// hc_class = 2 ;
1641: LD_ADDR_OWVAR 28
1645: PUSH
1646: LD_INT 2
1648: ST_TO_ADDR
// un = CreateHuman ;
1649: LD_ADDR_VAR 0 8
1653: PUSH
1654: CALL_OW 44
1658: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotRU1 ) ;
1659: LD_VAR 0 8
1663: PPUSH
1664: LD_INT 57
1666: PPUSH
1667: CALL_OW 52
// l = l + 1 ;
1671: LD_ADDR_VAR 0 9
1675: PUSH
1676: LD_VAR 0 9
1680: PUSH
1681: LD_INT 1
1683: PLUS
1684: ST_TO_ADDR
// end until l = 3 ;
1685: LD_VAR 0 9
1689: PUSH
1690: LD_INT 3
1692: EQUAL
1693: IFFALSE 1513
// end ; end ;
1695: GO 1487
1697: POP
1698: POP
// for i in depotAM1 do
1699: LD_ADDR_VAR 0 7
1703: PUSH
1704: LD_INT 452
1706: PUSH
1707: FOR_IN
1708: IFFALSE 1943
// begin l = 0 ;
1710: LD_ADDR_VAR 0 9
1714: PUSH
1715: LD_INT 0
1717: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
1718: LD_VAR 0 7
1722: PPUSH
1723: CALL_OW 310
1727: PUSH
1728: LD_INT 0
1730: EQUAL
1731: IFFALSE 1941
// begin repeat begin randomize ;
1733: CALL_OW 10
// uc_side = 1 ;
1737: LD_ADDR_OWVAR 20
1741: PUSH
1742: LD_INT 1
1744: ST_TO_ADDR
// uc_nation = 1 ;
1745: LD_ADDR_OWVAR 21
1749: PUSH
1750: LD_INT 1
1752: ST_TO_ADDR
// hc_gallery =  ;
1753: LD_ADDR_OWVAR 33
1757: PUSH
1758: LD_STRING 
1760: ST_TO_ADDR
// hc_name =  ;
1761: LD_ADDR_OWVAR 26
1765: PUSH
1766: LD_STRING 
1768: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1769: LD_ADDR_OWVAR 29
1773: PUSH
1774: LD_INT 9
1776: PPUSH
1777: LD_INT 11
1779: PPUSH
1780: CALL_OW 12
1784: PUSH
1785: LD_INT 10
1787: PPUSH
1788: LD_INT 12
1790: PPUSH
1791: CALL_OW 12
1795: PUSH
1796: EMPTY
1797: LIST
1798: LIST
1799: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1800: LD_ADDR_OWVAR 27
1804: PUSH
1805: LD_INT 1
1807: PPUSH
1808: LD_INT 2
1810: PPUSH
1811: CALL_OW 12
1815: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 5 , 6 ) , Rand ( 0 , 3 ) , Rand ( 0 , 1 ) ] ;
1816: LD_ADDR_OWVAR 31
1820: PUSH
1821: LD_INT 0
1823: PPUSH
1824: LD_INT 4
1826: PPUSH
1827: CALL_OW 12
1831: PUSH
1832: LD_INT 5
1834: PPUSH
1835: LD_INT 6
1837: PPUSH
1838: CALL_OW 12
1842: PUSH
1843: LD_INT 0
1845: PPUSH
1846: LD_INT 3
1848: PPUSH
1849: CALL_OW 12
1853: PUSH
1854: LD_INT 0
1856: PPUSH
1857: LD_INT 1
1859: PPUSH
1860: CALL_OW 12
1864: PUSH
1865: EMPTY
1866: LIST
1867: LIST
1868: LIST
1869: LIST
1870: ST_TO_ADDR
// hc_class = 2 ;
1871: LD_ADDR_OWVAR 28
1875: PUSH
1876: LD_INT 2
1878: ST_TO_ADDR
// un = CreateHuman ;
1879: LD_ADDR_VAR 0 8
1883: PUSH
1884: CALL_OW 44
1888: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotAM1 ) ;
1889: LD_VAR 0 8
1893: PPUSH
1894: LD_INT 452
1896: PPUSH
1897: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
1901: LD_ADDR_EXP 6
1905: PUSH
1906: LD_EXP 6
1910: PUSH
1911: LD_VAR 0 8
1915: ADD
1916: ST_TO_ADDR
// l = l + 1 ;
1917: LD_ADDR_VAR 0 9
1921: PUSH
1922: LD_VAR 0 9
1926: PUSH
1927: LD_INT 1
1929: PLUS
1930: ST_TO_ADDR
// end until l = 1 ;
1931: LD_VAR 0 9
1935: PUSH
1936: LD_INT 1
1938: EQUAL
1939: IFFALSE 1733
// end ; end ;
1941: GO 1707
1943: POP
1944: POP
// for i in depotAM2 do
1945: LD_ADDR_VAR 0 7
1949: PUSH
1950: LD_INT 480
1952: PUSH
1953: FOR_IN
1954: IFFALSE 2125
// begin if IsInUnit ( i ) = 0 then
1956: LD_VAR 0 7
1960: PPUSH
1961: CALL_OW 310
1965: PUSH
1966: LD_INT 0
1968: EQUAL
1969: IFFALSE 2123
// begin randomize ;
1971: CALL_OW 10
// uc_side = 1 ;
1975: LD_ADDR_OWVAR 20
1979: PUSH
1980: LD_INT 1
1982: ST_TO_ADDR
// uc_nation = 1 ;
1983: LD_ADDR_OWVAR 21
1987: PUSH
1988: LD_INT 1
1990: ST_TO_ADDR
// hc_gallery =  ;
1991: LD_ADDR_OWVAR 33
1995: PUSH
1996: LD_STRING 
1998: ST_TO_ADDR
// hc_name =  ;
1999: LD_ADDR_OWVAR 26
2003: PUSH
2004: LD_STRING 
2006: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2007: LD_ADDR_OWVAR 29
2011: PUSH
2012: LD_INT 9
2014: PPUSH
2015: LD_INT 11
2017: PPUSH
2018: CALL_OW 12
2022: PUSH
2023: LD_INT 10
2025: PPUSH
2026: LD_INT 12
2028: PPUSH
2029: CALL_OW 12
2033: PUSH
2034: EMPTY
2035: LIST
2036: LIST
2037: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 3 ) , 6 , Rand ( 0 , 1 ) , Rand ( 0 , 2 ) ] ;
2038: LD_ADDR_OWVAR 31
2042: PUSH
2043: LD_INT 0
2045: PPUSH
2046: LD_INT 3
2048: PPUSH
2049: CALL_OW 12
2053: PUSH
2054: LD_INT 6
2056: PUSH
2057: LD_INT 0
2059: PPUSH
2060: LD_INT 1
2062: PPUSH
2063: CALL_OW 12
2067: PUSH
2068: LD_INT 0
2070: PPUSH
2071: LD_INT 2
2073: PPUSH
2074: CALL_OW 12
2078: PUSH
2079: EMPTY
2080: LIST
2081: LIST
2082: LIST
2083: LIST
2084: ST_TO_ADDR
// un = CreateHuman ;
2085: LD_ADDR_VAR 0 8
2089: PUSH
2090: CALL_OW 44
2094: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotAM2 ) ;
2095: LD_VAR 0 8
2099: PPUSH
2100: LD_INT 480
2102: PPUSH
2103: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
2107: LD_ADDR_EXP 6
2111: PUSH
2112: LD_EXP 6
2116: PUSH
2117: LD_VAR 0 8
2121: ADD
2122: ST_TO_ADDR
// end ; end ;
2123: GO 1953
2125: POP
2126: POP
// for i in depotAM3 do
2127: LD_ADDR_VAR 0 7
2131: PUSH
2132: LD_INT 10
2134: PUSH
2135: FOR_IN
2136: IFFALSE 2327
// begin if IsInUnit ( i ) = 0 then
2138: LD_VAR 0 7
2142: PPUSH
2143: CALL_OW 310
2147: PUSH
2148: LD_INT 0
2150: EQUAL
2151: IFFALSE 2325
// begin uc_side = 1 ;
2153: LD_ADDR_OWVAR 20
2157: PUSH
2158: LD_INT 1
2160: ST_TO_ADDR
// uc_nation = 1 ;
2161: LD_ADDR_OWVAR 21
2165: PUSH
2166: LD_INT 1
2168: ST_TO_ADDR
// hc_gallery =  ;
2169: LD_ADDR_OWVAR 33
2173: PUSH
2174: LD_STRING 
2176: ST_TO_ADDR
// hc_name =  ;
2177: LD_ADDR_OWVAR 26
2181: PUSH
2182: LD_STRING 
2184: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2185: LD_ADDR_OWVAR 29
2189: PUSH
2190: LD_INT 9
2192: PPUSH
2193: LD_INT 11
2195: PPUSH
2196: CALL_OW 12
2200: PUSH
2201: LD_INT 10
2203: PPUSH
2204: LD_INT 12
2206: PPUSH
2207: CALL_OW 12
2211: PUSH
2212: EMPTY
2213: LIST
2214: LIST
2215: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 3 ) , 6 , Rand ( 0 , 1 ) , Rand ( 0 , 1 ) ] ;
2216: LD_ADDR_OWVAR 31
2220: PUSH
2221: LD_INT 0
2223: PPUSH
2224: LD_INT 3
2226: PPUSH
2227: CALL_OW 12
2231: PUSH
2232: LD_INT 6
2234: PUSH
2235: LD_INT 0
2237: PPUSH
2238: LD_INT 1
2240: PPUSH
2241: CALL_OW 12
2245: PUSH
2246: LD_INT 0
2248: PPUSH
2249: LD_INT 1
2251: PPUSH
2252: CALL_OW 12
2256: PUSH
2257: EMPTY
2258: LIST
2259: LIST
2260: LIST
2261: LIST
2262: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2263: LD_ADDR_OWVAR 27
2267: PUSH
2268: LD_INT 1
2270: PPUSH
2271: LD_INT 2
2273: PPUSH
2274: CALL_OW 12
2278: ST_TO_ADDR
// hc_class = 2 ;
2279: LD_ADDR_OWVAR 28
2283: PUSH
2284: LD_INT 2
2286: ST_TO_ADDR
// un = CreateHuman ;
2287: LD_ADDR_VAR 0 8
2291: PUSH
2292: CALL_OW 44
2296: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotAM3 ) ;
2297: LD_VAR 0 8
2301: PPUSH
2302: LD_INT 10
2304: PPUSH
2305: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
2309: LD_ADDR_EXP 6
2313: PUSH
2314: LD_EXP 6
2318: PUSH
2319: LD_VAR 0 8
2323: ADD
2324: ST_TO_ADDR
// end ; end ;
2325: GO 2135
2327: POP
2328: POP
// for i in factoryRU1 do
2329: LD_ADDR_VAR 0 7
2333: PUSH
2334: LD_INT 58
2336: PUSH
2337: FOR_IN
2338: IFFALSE 2547
// begin l = 0 ;
2340: LD_ADDR_VAR 0 9
2344: PUSH
2345: LD_INT 0
2347: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
2348: LD_VAR 0 7
2352: PPUSH
2353: CALL_OW 310
2357: PUSH
2358: LD_INT 0
2360: EQUAL
2361: IFFALSE 2545
// begin repeat begin uc_side = 3 ;
2363: LD_ADDR_OWVAR 20
2367: PUSH
2368: LD_INT 3
2370: ST_TO_ADDR
// uc_nation = 3 ;
2371: LD_ADDR_OWVAR 21
2375: PUSH
2376: LD_INT 3
2378: ST_TO_ADDR
// hc_gallery =  ;
2379: LD_ADDR_OWVAR 33
2383: PUSH
2384: LD_STRING 
2386: ST_TO_ADDR
// hc_name =  ;
2387: LD_ADDR_OWVAR 26
2391: PUSH
2392: LD_STRING 
2394: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2395: LD_ADDR_OWVAR 29
2399: PUSH
2400: LD_INT 9
2402: PPUSH
2403: LD_INT 11
2405: PPUSH
2406: CALL_OW 12
2410: PUSH
2411: LD_INT 10
2413: PPUSH
2414: LD_INT 12
2416: PPUSH
2417: CALL_OW 12
2421: PUSH
2422: EMPTY
2423: LIST
2424: LIST
2425: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 4 ) , Rand ( 0 , 4 ) , MechLevel , Rand ( 0 , 4 ) ] ;
2426: LD_ADDR_OWVAR 31
2430: PUSH
2431: LD_INT 1
2433: PPUSH
2434: LD_INT 4
2436: PPUSH
2437: CALL_OW 12
2441: PUSH
2442: LD_INT 0
2444: PPUSH
2445: LD_INT 4
2447: PPUSH
2448: CALL_OW 12
2452: PUSH
2453: LD_VAR 0 12
2457: PUSH
2458: LD_INT 0
2460: PPUSH
2461: LD_INT 4
2463: PPUSH
2464: CALL_OW 12
2468: PUSH
2469: EMPTY
2470: LIST
2471: LIST
2472: LIST
2473: LIST
2474: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2475: LD_ADDR_OWVAR 27
2479: PUSH
2480: LD_INT 1
2482: PPUSH
2483: LD_INT 2
2485: PPUSH
2486: CALL_OW 12
2490: ST_TO_ADDR
// hc_class = 3 ;
2491: LD_ADDR_OWVAR 28
2495: PUSH
2496: LD_INT 3
2498: ST_TO_ADDR
// un = CreateHuman ;
2499: LD_ADDR_VAR 0 8
2503: PUSH
2504: CALL_OW 44
2508: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryRU1 ) ;
2509: LD_VAR 0 8
2513: PPUSH
2514: LD_INT 58
2516: PPUSH
2517: CALL_OW 52
// l = l + 1 ;
2521: LD_ADDR_VAR 0 9
2525: PUSH
2526: LD_VAR 0 9
2530: PUSH
2531: LD_INT 1
2533: PLUS
2534: ST_TO_ADDR
// end until l = 3 ;
2535: LD_VAR 0 9
2539: PUSH
2540: LD_INT 3
2542: EQUAL
2543: IFFALSE 2363
// end ; end ;
2545: GO 2337
2547: POP
2548: POP
// for i in factoryRU2 do
2549: LD_ADDR_VAR 0 7
2553: PUSH
2554: LD_INT 68
2556: PUSH
2557: FOR_IN
2558: IFFALSE 2767
// begin l = 0 ;
2560: LD_ADDR_VAR 0 9
2564: PUSH
2565: LD_INT 0
2567: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
2568: LD_VAR 0 7
2572: PPUSH
2573: CALL_OW 310
2577: PUSH
2578: LD_INT 0
2580: EQUAL
2581: IFFALSE 2765
// begin repeat begin uc_side = 3 ;
2583: LD_ADDR_OWVAR 20
2587: PUSH
2588: LD_INT 3
2590: ST_TO_ADDR
// uc_nation = 3 ;
2591: LD_ADDR_OWVAR 21
2595: PUSH
2596: LD_INT 3
2598: ST_TO_ADDR
// hc_gallery =  ;
2599: LD_ADDR_OWVAR 33
2603: PUSH
2604: LD_STRING 
2606: ST_TO_ADDR
// hc_name =  ;
2607: LD_ADDR_OWVAR 26
2611: PUSH
2612: LD_STRING 
2614: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2615: LD_ADDR_OWVAR 29
2619: PUSH
2620: LD_INT 9
2622: PPUSH
2623: LD_INT 11
2625: PPUSH
2626: CALL_OW 12
2630: PUSH
2631: LD_INT 10
2633: PPUSH
2634: LD_INT 12
2636: PPUSH
2637: CALL_OW 12
2641: PUSH
2642: EMPTY
2643: LIST
2644: LIST
2645: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 4 ) , Rand ( 0 , 4 ) , MechLevel , Rand ( 0 , 4 ) ] ;
2646: LD_ADDR_OWVAR 31
2650: PUSH
2651: LD_INT 1
2653: PPUSH
2654: LD_INT 4
2656: PPUSH
2657: CALL_OW 12
2661: PUSH
2662: LD_INT 0
2664: PPUSH
2665: LD_INT 4
2667: PPUSH
2668: CALL_OW 12
2672: PUSH
2673: LD_VAR 0 12
2677: PUSH
2678: LD_INT 0
2680: PPUSH
2681: LD_INT 4
2683: PPUSH
2684: CALL_OW 12
2688: PUSH
2689: EMPTY
2690: LIST
2691: LIST
2692: LIST
2693: LIST
2694: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2695: LD_ADDR_OWVAR 27
2699: PUSH
2700: LD_INT 1
2702: PPUSH
2703: LD_INT 2
2705: PPUSH
2706: CALL_OW 12
2710: ST_TO_ADDR
// hc_class = 3 ;
2711: LD_ADDR_OWVAR 28
2715: PUSH
2716: LD_INT 3
2718: ST_TO_ADDR
// un = CreateHuman ;
2719: LD_ADDR_VAR 0 8
2723: PUSH
2724: CALL_OW 44
2728: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryRU2 ) ;
2729: LD_VAR 0 8
2733: PPUSH
2734: LD_INT 68
2736: PPUSH
2737: CALL_OW 52
// l = l + 1 ;
2741: LD_ADDR_VAR 0 9
2745: PUSH
2746: LD_VAR 0 9
2750: PUSH
2751: LD_INT 1
2753: PLUS
2754: ST_TO_ADDR
// end until l = 3 ;
2755: LD_VAR 0 9
2759: PUSH
2760: LD_INT 3
2762: EQUAL
2763: IFFALSE 2583
// end ; end ;
2765: GO 2557
2767: POP
2768: POP
// for i in factoryAM1 do
2769: LD_ADDR_VAR 0 7
2773: PUSH
2774: LD_INT 456
2776: PUSH
2777: FOR_IN
2778: IFFALSE 3001
// begin l = 0 ;
2780: LD_ADDR_VAR 0 9
2784: PUSH
2785: LD_INT 0
2787: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
2788: LD_VAR 0 7
2792: PPUSH
2793: CALL_OW 310
2797: PUSH
2798: LD_INT 0
2800: EQUAL
2801: IFFALSE 2999
// begin repeat begin uc_side = 1 ;
2803: LD_ADDR_OWVAR 20
2807: PUSH
2808: LD_INT 1
2810: ST_TO_ADDR
// uc_nation = 1 ;
2811: LD_ADDR_OWVAR 21
2815: PUSH
2816: LD_INT 1
2818: ST_TO_ADDR
// hc_gallery =  ;
2819: LD_ADDR_OWVAR 33
2823: PUSH
2824: LD_STRING 
2826: ST_TO_ADDR
// hc_name =  ;
2827: LD_ADDR_OWVAR 26
2831: PUSH
2832: LD_STRING 
2834: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2835: LD_ADDR_OWVAR 29
2839: PUSH
2840: LD_INT 9
2842: PPUSH
2843: LD_INT 11
2845: PPUSH
2846: CALL_OW 12
2850: PUSH
2851: LD_INT 10
2853: PPUSH
2854: LD_INT 12
2856: PPUSH
2857: CALL_OW 12
2861: PUSH
2862: EMPTY
2863: LIST
2864: LIST
2865: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 5 , Rand ( 0 , 2 ) ] ;
2866: LD_ADDR_OWVAR 31
2870: PUSH
2871: LD_INT 0
2873: PPUSH
2874: LD_INT 2
2876: PPUSH
2877: CALL_OW 12
2881: PUSH
2882: LD_INT 0
2884: PPUSH
2885: LD_INT 2
2887: PPUSH
2888: CALL_OW 12
2892: PUSH
2893: LD_INT 5
2895: PUSH
2896: LD_INT 0
2898: PPUSH
2899: LD_INT 2
2901: PPUSH
2902: CALL_OW 12
2906: PUSH
2907: EMPTY
2908: LIST
2909: LIST
2910: LIST
2911: LIST
2912: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2913: LD_ADDR_OWVAR 27
2917: PUSH
2918: LD_INT 1
2920: PPUSH
2921: LD_INT 2
2923: PPUSH
2924: CALL_OW 12
2928: ST_TO_ADDR
// hc_class = 3 ;
2929: LD_ADDR_OWVAR 28
2933: PUSH
2934: LD_INT 3
2936: ST_TO_ADDR
// un = CreateHuman ;
2937: LD_ADDR_VAR 0 8
2941: PUSH
2942: CALL_OW 44
2946: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM1 ) ;
2947: LD_VAR 0 8
2951: PPUSH
2952: LD_INT 456
2954: PPUSH
2955: CALL_OW 52
// l = l + 1 ;
2959: LD_ADDR_VAR 0 9
2963: PUSH
2964: LD_VAR 0 9
2968: PUSH
2969: LD_INT 1
2971: PLUS
2972: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
2973: LD_ADDR_EXP 6
2977: PUSH
2978: LD_EXP 6
2982: PUSH
2983: LD_VAR 0 8
2987: ADD
2988: ST_TO_ADDR
// end until l = 1 ;
2989: LD_VAR 0 9
2993: PUSH
2994: LD_INT 1
2996: EQUAL
2997: IFFALSE 2803
// end ; end ;
2999: GO 2777
3001: POP
3002: POP
// for i in factoryAM2 do
3003: LD_ADDR_VAR 0 7
3007: PUSH
3008: LD_INT 489
3010: PUSH
3011: FOR_IN
3012: IFFALSE 3235
// begin l = 0 ;
3014: LD_ADDR_VAR 0 9
3018: PUSH
3019: LD_INT 0
3021: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
3022: LD_VAR 0 7
3026: PPUSH
3027: CALL_OW 310
3031: PUSH
3032: LD_INT 0
3034: EQUAL
3035: IFFALSE 3233
// begin repeat begin uc_side = 1 ;
3037: LD_ADDR_OWVAR 20
3041: PUSH
3042: LD_INT 1
3044: ST_TO_ADDR
// uc_nation = 1 ;
3045: LD_ADDR_OWVAR 21
3049: PUSH
3050: LD_INT 1
3052: ST_TO_ADDR
// hc_gallery =  ;
3053: LD_ADDR_OWVAR 33
3057: PUSH
3058: LD_STRING 
3060: ST_TO_ADDR
// hc_name =  ;
3061: LD_ADDR_OWVAR 26
3065: PUSH
3066: LD_STRING 
3068: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3069: LD_ADDR_OWVAR 29
3073: PUSH
3074: LD_INT 9
3076: PPUSH
3077: LD_INT 11
3079: PPUSH
3080: CALL_OW 12
3084: PUSH
3085: LD_INT 10
3087: PPUSH
3088: LD_INT 12
3090: PPUSH
3091: CALL_OW 12
3095: PUSH
3096: EMPTY
3097: LIST
3098: LIST
3099: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 4 ) , 4 , Rand ( 0 , 2 ) ] ;
3100: LD_ADDR_OWVAR 31
3104: PUSH
3105: LD_INT 0
3107: PPUSH
3108: LD_INT 2
3110: PPUSH
3111: CALL_OW 12
3115: PUSH
3116: LD_INT 0
3118: PPUSH
3119: LD_INT 4
3121: PPUSH
3122: CALL_OW 12
3126: PUSH
3127: LD_INT 4
3129: PUSH
3130: LD_INT 0
3132: PPUSH
3133: LD_INT 2
3135: PPUSH
3136: CALL_OW 12
3140: PUSH
3141: EMPTY
3142: LIST
3143: LIST
3144: LIST
3145: LIST
3146: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3147: LD_ADDR_OWVAR 27
3151: PUSH
3152: LD_INT 1
3154: PPUSH
3155: LD_INT 2
3157: PPUSH
3158: CALL_OW 12
3162: ST_TO_ADDR
// hc_class = 3 ;
3163: LD_ADDR_OWVAR 28
3167: PUSH
3168: LD_INT 3
3170: ST_TO_ADDR
// un = CreateHuman ;
3171: LD_ADDR_VAR 0 8
3175: PUSH
3176: CALL_OW 44
3180: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM2 ) ;
3181: LD_VAR 0 8
3185: PPUSH
3186: LD_INT 489
3188: PPUSH
3189: CALL_OW 52
// l = l + 1 ;
3193: LD_ADDR_VAR 0 9
3197: PUSH
3198: LD_VAR 0 9
3202: PUSH
3203: LD_INT 1
3205: PLUS
3206: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
3207: LD_ADDR_EXP 6
3211: PUSH
3212: LD_EXP 6
3216: PUSH
3217: LD_VAR 0 8
3221: ADD
3222: ST_TO_ADDR
// end until l = 1 ;
3223: LD_VAR 0 9
3227: PUSH
3228: LD_INT 1
3230: EQUAL
3231: IFFALSE 3037
// end ; end ;
3233: GO 3011
3235: POP
3236: POP
// for i in factoryAM3 do
3237: LD_ADDR_VAR 0 7
3241: PUSH
3242: LD_INT 19
3244: PUSH
3245: FOR_IN
3246: IFFALSE 3639
// begin if IsInUnit ( i ) = 0 then
3248: LD_VAR 0 7
3252: PPUSH
3253: CALL_OW 310
3257: PUSH
3258: LD_INT 0
3260: EQUAL
3261: IFFALSE 3637
// begin uc_side = 1 ;
3263: LD_ADDR_OWVAR 20
3267: PUSH
3268: LD_INT 1
3270: ST_TO_ADDR
// uc_nation = 1 ;
3271: LD_ADDR_OWVAR 21
3275: PUSH
3276: LD_INT 1
3278: ST_TO_ADDR
// hc_gallery =  ;
3279: LD_ADDR_OWVAR 33
3283: PUSH
3284: LD_STRING 
3286: ST_TO_ADDR
// hc_name =  ;
3287: LD_ADDR_OWVAR 26
3291: PUSH
3292: LD_STRING 
3294: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3295: LD_ADDR_OWVAR 29
3299: PUSH
3300: LD_INT 9
3302: PPUSH
3303: LD_INT 11
3305: PPUSH
3306: CALL_OW 12
3310: PUSH
3311: LD_INT 10
3313: PPUSH
3314: LD_INT 12
3316: PPUSH
3317: CALL_OW 12
3321: PUSH
3322: EMPTY
3323: LIST
3324: LIST
3325: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , 6 , Rand ( 0 , 2 ) ] ;
3326: LD_ADDR_OWVAR 31
3330: PUSH
3331: LD_INT 1
3333: PPUSH
3334: LD_INT 4
3336: PPUSH
3337: CALL_OW 12
3341: PUSH
3342: LD_INT 0
3344: PPUSH
3345: LD_INT 3
3347: PPUSH
3348: CALL_OW 12
3352: PUSH
3353: LD_INT 6
3355: PUSH
3356: LD_INT 0
3358: PPUSH
3359: LD_INT 2
3361: PPUSH
3362: CALL_OW 12
3366: PUSH
3367: EMPTY
3368: LIST
3369: LIST
3370: LIST
3371: LIST
3372: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3373: LD_ADDR_OWVAR 27
3377: PUSH
3378: LD_INT 1
3380: PPUSH
3381: LD_INT 2
3383: PPUSH
3384: CALL_OW 12
3388: ST_TO_ADDR
// hc_class = 3 ;
3389: LD_ADDR_OWVAR 28
3393: PUSH
3394: LD_INT 3
3396: ST_TO_ADDR
// un = CreateHuman ;
3397: LD_ADDR_VAR 0 8
3401: PUSH
3402: CALL_OW 44
3406: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3407: LD_VAR 0 8
3411: PPUSH
3412: LD_INT 19
3414: PPUSH
3415: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3419: LD_ADDR_EXP 6
3423: PUSH
3424: LD_EXP 6
3428: PUSH
3429: LD_VAR 0 8
3433: ADD
3434: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3435: LD_ADDR_OWVAR 27
3439: PUSH
3440: LD_INT 1
3442: PPUSH
3443: LD_INT 2
3445: PPUSH
3446: CALL_OW 12
3450: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 5 ) , Rand ( 0 , 4 ) , 5 , Rand ( 0 , 1 ) ] ;
3451: LD_ADDR_OWVAR 31
3455: PUSH
3456: LD_INT 1
3458: PPUSH
3459: LD_INT 5
3461: PPUSH
3462: CALL_OW 12
3466: PUSH
3467: LD_INT 0
3469: PPUSH
3470: LD_INT 4
3472: PPUSH
3473: CALL_OW 12
3477: PUSH
3478: LD_INT 5
3480: PUSH
3481: LD_INT 0
3483: PPUSH
3484: LD_INT 1
3486: PPUSH
3487: CALL_OW 12
3491: PUSH
3492: EMPTY
3493: LIST
3494: LIST
3495: LIST
3496: LIST
3497: ST_TO_ADDR
// un = CreateHuman ;
3498: LD_ADDR_VAR 0 8
3502: PUSH
3503: CALL_OW 44
3507: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3508: LD_VAR 0 8
3512: PPUSH
3513: LD_INT 19
3515: PPUSH
3516: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3520: LD_ADDR_EXP 6
3524: PUSH
3525: LD_EXP 6
3529: PUSH
3530: LD_VAR 0 8
3534: ADD
3535: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3536: LD_ADDR_OWVAR 27
3540: PUSH
3541: LD_INT 1
3543: PPUSH
3544: LD_INT 2
3546: PPUSH
3547: CALL_OW 12
3551: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 3 ) , Rand ( 0 , 2 ) , 5 , Rand ( 1 , 3 ) ] ;
3552: LD_ADDR_OWVAR 31
3556: PUSH
3557: LD_INT 0
3559: PPUSH
3560: LD_INT 3
3562: PPUSH
3563: CALL_OW 12
3567: PUSH
3568: LD_INT 0
3570: PPUSH
3571: LD_INT 2
3573: PPUSH
3574: CALL_OW 12
3578: PUSH
3579: LD_INT 5
3581: PUSH
3582: LD_INT 1
3584: PPUSH
3585: LD_INT 3
3587: PPUSH
3588: CALL_OW 12
3592: PUSH
3593: EMPTY
3594: LIST
3595: LIST
3596: LIST
3597: LIST
3598: ST_TO_ADDR
// un = CreateHuman ;
3599: LD_ADDR_VAR 0 8
3603: PUSH
3604: CALL_OW 44
3608: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3609: LD_VAR 0 8
3613: PPUSH
3614: LD_INT 19
3616: PPUSH
3617: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3621: LD_ADDR_EXP 6
3625: PUSH
3626: LD_EXP 6
3630: PUSH
3631: LD_VAR 0 8
3635: ADD
3636: ST_TO_ADDR
// end ; end ;
3637: GO 3245
3639: POP
3640: POP
// for i in factoryAM4 do
3641: LD_ADDR_VAR 0 7
3645: PUSH
3646: LD_INT 17
3648: PUSH
3649: FOR_IN
3650: IFFALSE 3841
// begin l = 0 ;
3652: LD_ADDR_VAR 0 9
3656: PUSH
3657: LD_INT 0
3659: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
3660: LD_VAR 0 7
3664: PPUSH
3665: CALL_OW 310
3669: PUSH
3670: LD_INT 0
3672: EQUAL
3673: IFFALSE 3839
// begin uc_side = 1 ;
3675: LD_ADDR_OWVAR 20
3679: PUSH
3680: LD_INT 1
3682: ST_TO_ADDR
// uc_nation = 1 ;
3683: LD_ADDR_OWVAR 21
3687: PUSH
3688: LD_INT 1
3690: ST_TO_ADDR
// hc_gallery =  ;
3691: LD_ADDR_OWVAR 33
3695: PUSH
3696: LD_STRING 
3698: ST_TO_ADDR
// hc_name =  ;
3699: LD_ADDR_OWVAR 26
3703: PUSH
3704: LD_STRING 
3706: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3707: LD_ADDR_OWVAR 29
3711: PUSH
3712: LD_INT 9
3714: PPUSH
3715: LD_INT 11
3717: PPUSH
3718: CALL_OW 12
3722: PUSH
3723: LD_INT 10
3725: PPUSH
3726: LD_INT 12
3728: PPUSH
3729: CALL_OW 12
3733: PUSH
3734: EMPTY
3735: LIST
3736: LIST
3737: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3738: LD_ADDR_OWVAR 27
3742: PUSH
3743: LD_INT 1
3745: PPUSH
3746: LD_INT 2
3748: PPUSH
3749: CALL_OW 12
3753: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 5 ) , Rand ( 0 , 4 ) , 4 , Rand ( 0 , 1 ) ] ;
3754: LD_ADDR_OWVAR 31
3758: PUSH
3759: LD_INT 1
3761: PPUSH
3762: LD_INT 5
3764: PPUSH
3765: CALL_OW 12
3769: PUSH
3770: LD_INT 0
3772: PPUSH
3773: LD_INT 4
3775: PPUSH
3776: CALL_OW 12
3780: PUSH
3781: LD_INT 4
3783: PUSH
3784: LD_INT 0
3786: PPUSH
3787: LD_INT 1
3789: PPUSH
3790: CALL_OW 12
3794: PUSH
3795: EMPTY
3796: LIST
3797: LIST
3798: LIST
3799: LIST
3800: ST_TO_ADDR
// un = CreateHuman ;
3801: LD_ADDR_VAR 0 8
3805: PUSH
3806: CALL_OW 44
3810: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3811: LD_VAR 0 8
3815: PPUSH
3816: LD_INT 19
3818: PPUSH
3819: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3823: LD_ADDR_EXP 6
3827: PUSH
3828: LD_EXP 6
3832: PUSH
3833: LD_VAR 0 8
3837: ADD
3838: ST_TO_ADDR
// end ; end ;
3839: GO 3649
3841: POP
3842: POP
// for i in labAM1 do
3843: LD_ADDR_VAR 0 7
3847: PUSH
3848: LD_INT 463
3850: PUSH
3851: FOR_IN
3852: IFFALSE 4144
// begin if IsInUnit ( i ) = 0 then
3854: LD_VAR 0 7
3858: PPUSH
3859: CALL_OW 310
3863: PUSH
3864: LD_INT 0
3866: EQUAL
3867: IFFALSE 4142
// begin uc_side = 1 ;
3869: LD_ADDR_OWVAR 20
3873: PUSH
3874: LD_INT 1
3876: ST_TO_ADDR
// uc_nation = 1 ;
3877: LD_ADDR_OWVAR 21
3881: PUSH
3882: LD_INT 1
3884: ST_TO_ADDR
// hc_gallery =  ;
3885: LD_ADDR_OWVAR 33
3889: PUSH
3890: LD_STRING 
3892: ST_TO_ADDR
// hc_name =  ;
3893: LD_ADDR_OWVAR 26
3897: PUSH
3898: LD_STRING 
3900: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3901: LD_ADDR_OWVAR 29
3905: PUSH
3906: LD_INT 9
3908: PPUSH
3909: LD_INT 11
3911: PPUSH
3912: CALL_OW 12
3916: PUSH
3917: LD_INT 10
3919: PPUSH
3920: LD_INT 12
3922: PPUSH
3923: CALL_OW 12
3927: PUSH
3928: EMPTY
3929: LIST
3930: LIST
3931: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 1 , 3 ) , Rand ( 0 , 2 ) , 6 ] ;
3932: LD_ADDR_OWVAR 31
3936: PUSH
3937: LD_INT 0
3939: PPUSH
3940: LD_INT 1
3942: PPUSH
3943: CALL_OW 12
3947: PUSH
3948: LD_INT 1
3950: PPUSH
3951: LD_INT 3
3953: PPUSH
3954: CALL_OW 12
3958: PUSH
3959: LD_INT 0
3961: PPUSH
3962: LD_INT 2
3964: PPUSH
3965: CALL_OW 12
3969: PUSH
3970: LD_INT 6
3972: PUSH
3973: EMPTY
3974: LIST
3975: LIST
3976: LIST
3977: LIST
3978: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3979: LD_ADDR_OWVAR 27
3983: PUSH
3984: LD_INT 1
3986: PPUSH
3987: LD_INT 2
3989: PPUSH
3990: CALL_OW 12
3994: ST_TO_ADDR
// hc_class = 4 ;
3995: LD_ADDR_OWVAR 28
3999: PUSH
4000: LD_INT 4
4002: ST_TO_ADDR
// un = CreateHuman ;
4003: LD_ADDR_VAR 0 8
4007: PUSH
4008: CALL_OW 44
4012: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM1 ) ;
4013: LD_VAR 0 8
4017: PPUSH
4018: LD_INT 463
4020: PPUSH
4021: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4025: LD_ADDR_EXP 6
4029: PUSH
4030: LD_EXP 6
4034: PUSH
4035: LD_VAR 0 8
4039: ADD
4040: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 1 , 3 ) , Rand ( 0 , 2 ) , 5 ] ;
4041: LD_ADDR_OWVAR 31
4045: PUSH
4046: LD_INT 0
4048: PPUSH
4049: LD_INT 1
4051: PPUSH
4052: CALL_OW 12
4056: PUSH
4057: LD_INT 1
4059: PPUSH
4060: LD_INT 3
4062: PPUSH
4063: CALL_OW 12
4067: PUSH
4068: LD_INT 0
4070: PPUSH
4071: LD_INT 2
4073: PPUSH
4074: CALL_OW 12
4078: PUSH
4079: LD_INT 5
4081: PUSH
4082: EMPTY
4083: LIST
4084: LIST
4085: LIST
4086: LIST
4087: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4088: LD_ADDR_OWVAR 27
4092: PUSH
4093: LD_INT 1
4095: PPUSH
4096: LD_INT 2
4098: PPUSH
4099: CALL_OW 12
4103: ST_TO_ADDR
// un = CreateHuman ;
4104: LD_ADDR_VAR 0 8
4108: PUSH
4109: CALL_OW 44
4113: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM1 ) ;
4114: LD_VAR 0 8
4118: PPUSH
4119: LD_INT 463
4121: PPUSH
4122: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4126: LD_ADDR_EXP 6
4130: PUSH
4131: LD_EXP 6
4135: PUSH
4136: LD_VAR 0 8
4140: ADD
4141: ST_TO_ADDR
// end ; end ;
4142: GO 3851
4144: POP
4145: POP
// for i in labAM2 do
4146: LD_ADDR_VAR 0 7
4150: PUSH
4151: LD_INT 457
4153: PUSH
4154: FOR_IN
4155: IFFALSE 4338
// begin l = 0 ;
4157: LD_ADDR_VAR 0 9
4161: PUSH
4162: LD_INT 0
4164: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
4165: LD_VAR 0 7
4169: PPUSH
4170: CALL_OW 310
4174: PUSH
4175: LD_INT 0
4177: EQUAL
4178: IFFALSE 4336
// begin uc_side = 1 ;
4180: LD_ADDR_OWVAR 20
4184: PUSH
4185: LD_INT 1
4187: ST_TO_ADDR
// uc_nation = 1 ;
4188: LD_ADDR_OWVAR 21
4192: PUSH
4193: LD_INT 1
4195: ST_TO_ADDR
// hc_gallery =  ;
4196: LD_ADDR_OWVAR 33
4200: PUSH
4201: LD_STRING 
4203: ST_TO_ADDR
// hc_name =  ;
4204: LD_ADDR_OWVAR 26
4208: PUSH
4209: LD_STRING 
4211: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4212: LD_ADDR_OWVAR 29
4216: PUSH
4217: LD_INT 9
4219: PPUSH
4220: LD_INT 11
4222: PPUSH
4223: CALL_OW 12
4227: PUSH
4228: LD_INT 10
4230: PPUSH
4231: LD_INT 12
4233: PPUSH
4234: CALL_OW 12
4238: PUSH
4239: EMPTY
4240: LIST
4241: LIST
4242: ST_TO_ADDR
// hc_skills = [ 0 , Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , 5 ] ;
4243: LD_ADDR_OWVAR 31
4247: PUSH
4248: LD_INT 0
4250: PUSH
4251: LD_INT 1
4253: PPUSH
4254: LD_INT 4
4256: PPUSH
4257: CALL_OW 12
4261: PUSH
4262: LD_INT 0
4264: PPUSH
4265: LD_INT 3
4267: PPUSH
4268: CALL_OW 12
4272: PUSH
4273: LD_INT 5
4275: PUSH
4276: EMPTY
4277: LIST
4278: LIST
4279: LIST
4280: LIST
4281: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4282: LD_ADDR_OWVAR 27
4286: PUSH
4287: LD_INT 1
4289: PPUSH
4290: LD_INT 2
4292: PPUSH
4293: CALL_OW 12
4297: ST_TO_ADDR
// un = CreateHuman ;
4298: LD_ADDR_VAR 0 8
4302: PUSH
4303: CALL_OW 44
4307: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM2 ) ;
4308: LD_VAR 0 8
4312: PPUSH
4313: LD_INT 457
4315: PPUSH
4316: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4320: LD_ADDR_EXP 6
4324: PUSH
4325: LD_EXP 6
4329: PUSH
4330: LD_VAR 0 8
4334: ADD
4335: ST_TO_ADDR
// end ; end ;
4336: GO 4154
4338: POP
4339: POP
// for i in labAM3 do
4340: LD_ADDR_VAR 0 7
4344: PUSH
4345: LD_INT 496
4347: PUSH
4348: FOR_IN
4349: IFFALSE 4516
// begin if IsInUnit ( i ) = 0 then
4351: LD_VAR 0 7
4355: PPUSH
4356: CALL_OW 310
4360: PUSH
4361: LD_INT 0
4363: EQUAL
4364: IFFALSE 4514
// begin uc_side = 1 ;
4366: LD_ADDR_OWVAR 20
4370: PUSH
4371: LD_INT 1
4373: ST_TO_ADDR
// uc_nation = 1 ;
4374: LD_ADDR_OWVAR 21
4378: PUSH
4379: LD_INT 1
4381: ST_TO_ADDR
// hc_gallery =  ;
4382: LD_ADDR_OWVAR 33
4386: PUSH
4387: LD_STRING 
4389: ST_TO_ADDR
// hc_name =  ;
4390: LD_ADDR_OWVAR 26
4394: PUSH
4395: LD_STRING 
4397: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4398: LD_ADDR_OWVAR 29
4402: PUSH
4403: LD_INT 9
4405: PPUSH
4406: LD_INT 11
4408: PPUSH
4409: CALL_OW 12
4413: PUSH
4414: LD_INT 10
4416: PPUSH
4417: LD_INT 12
4419: PPUSH
4420: CALL_OW 12
4424: PUSH
4425: EMPTY
4426: LIST
4427: LIST
4428: ST_TO_ADDR
// hc_skills = [ 0 , 2 , 2 , 3 ] ;
4429: LD_ADDR_OWVAR 31
4433: PUSH
4434: LD_INT 0
4436: PUSH
4437: LD_INT 2
4439: PUSH
4440: LD_INT 2
4442: PUSH
4443: LD_INT 3
4445: PUSH
4446: EMPTY
4447: LIST
4448: LIST
4449: LIST
4450: LIST
4451: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4452: LD_ADDR_OWVAR 27
4456: PUSH
4457: LD_INT 1
4459: PPUSH
4460: LD_INT 2
4462: PPUSH
4463: CALL_OW 12
4467: ST_TO_ADDR
// hc_class = 4 ;
4468: LD_ADDR_OWVAR 28
4472: PUSH
4473: LD_INT 4
4475: ST_TO_ADDR
// un = CreateHuman ;
4476: LD_ADDR_VAR 0 8
4480: PUSH
4481: CALL_OW 44
4485: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM3 ) ;
4486: LD_VAR 0 8
4490: PPUSH
4491: LD_INT 496
4493: PPUSH
4494: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4498: LD_ADDR_EXP 6
4502: PUSH
4503: LD_EXP 6
4507: PUSH
4508: LD_VAR 0 8
4512: ADD
4513: ST_TO_ADDR
// end ; end ;
4514: GO 4348
4516: POP
4517: POP
// for i in labAM4 do
4518: LD_ADDR_VAR 0 7
4522: PUSH
4523: LD_INT 36
4525: PUSH
4526: FOR_IN
4527: IFFALSE 4708
// begin if IsInUnit ( i ) = 0 then
4529: LD_VAR 0 7
4533: PPUSH
4534: CALL_OW 310
4538: PUSH
4539: LD_INT 0
4541: EQUAL
4542: IFFALSE 4706
// begin uc_side = 1 ;
4544: LD_ADDR_OWVAR 20
4548: PUSH
4549: LD_INT 1
4551: ST_TO_ADDR
// uc_nation = 1 ;
4552: LD_ADDR_OWVAR 21
4556: PUSH
4557: LD_INT 1
4559: ST_TO_ADDR
// hc_gallery =  ;
4560: LD_ADDR_OWVAR 33
4564: PUSH
4565: LD_STRING 
4567: ST_TO_ADDR
// hc_name =  ;
4568: LD_ADDR_OWVAR 26
4572: PUSH
4573: LD_STRING 
4575: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4576: LD_ADDR_OWVAR 29
4580: PUSH
4581: LD_INT 9
4583: PPUSH
4584: LD_INT 11
4586: PPUSH
4587: CALL_OW 12
4591: PUSH
4592: LD_INT 10
4594: PPUSH
4595: LD_INT 12
4597: PPUSH
4598: CALL_OW 12
4602: PUSH
4603: EMPTY
4604: LIST
4605: LIST
4606: ST_TO_ADDR
// hc_skills = [ 2 , 1 , 1 , 4 ] ;
4607: LD_ADDR_OWVAR 31
4611: PUSH
4612: LD_INT 2
4614: PUSH
4615: LD_INT 1
4617: PUSH
4618: LD_INT 1
4620: PUSH
4621: LD_INT 4
4623: PUSH
4624: EMPTY
4625: LIST
4626: LIST
4627: LIST
4628: LIST
4629: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4630: LD_ADDR_OWVAR 27
4634: PUSH
4635: LD_INT 1
4637: PPUSH
4638: LD_INT 2
4640: PPUSH
4641: CALL_OW 12
4645: ST_TO_ADDR
// hc_class = 4 ;
4646: LD_ADDR_OWVAR 28
4650: PUSH
4651: LD_INT 4
4653: ST_TO_ADDR
// un = CreateHuman ;
4654: LD_ADDR_VAR 0 8
4658: PUSH
4659: CALL_OW 44
4663: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM4 ) ;
4664: LD_VAR 0 8
4668: PPUSH
4669: LD_INT 36
4671: PPUSH
4672: CALL_OW 52
// l = l + 1 ;
4676: LD_ADDR_VAR 0 9
4680: PUSH
4681: LD_VAR 0 9
4685: PUSH
4686: LD_INT 1
4688: PLUS
4689: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
4690: LD_ADDR_EXP 6
4694: PUSH
4695: LD_EXP 6
4699: PUSH
4700: LD_VAR 0 8
4704: ADD
4705: ST_TO_ADDR
// end ; end ;
4706: GO 4526
4708: POP
4709: POP
// for i in labRU1 do
4710: LD_ADDR_VAR 0 7
4714: PUSH
4715: LD_INT 74
4717: PUSH
4718: FOR_IN
4719: IFFALSE 4928
// begin l = 0 ;
4721: LD_ADDR_VAR 0 9
4725: PUSH
4726: LD_INT 0
4728: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
4729: LD_VAR 0 7
4733: PPUSH
4734: CALL_OW 310
4738: PUSH
4739: LD_INT 0
4741: EQUAL
4742: IFFALSE 4926
// begin repeat begin uc_side = 3 ;
4744: LD_ADDR_OWVAR 20
4748: PUSH
4749: LD_INT 3
4751: ST_TO_ADDR
// uc_nation = 3 ;
4752: LD_ADDR_OWVAR 21
4756: PUSH
4757: LD_INT 3
4759: ST_TO_ADDR
// hc_gallery =  ;
4760: LD_ADDR_OWVAR 33
4764: PUSH
4765: LD_STRING 
4767: ST_TO_ADDR
// hc_name =  ;
4768: LD_ADDR_OWVAR 26
4772: PUSH
4773: LD_STRING 
4775: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4776: LD_ADDR_OWVAR 29
4780: PUSH
4781: LD_INT 9
4783: PPUSH
4784: LD_INT 11
4786: PPUSH
4787: CALL_OW 12
4791: PUSH
4792: LD_INT 10
4794: PPUSH
4795: LD_INT 12
4797: PPUSH
4798: CALL_OW 12
4802: PUSH
4803: EMPTY
4804: LIST
4805: LIST
4806: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 4 ) , Rand ( 1 , 3 ) , DocLevel ] ;
4807: LD_ADDR_OWVAR 31
4811: PUSH
4812: LD_INT 0
4814: PPUSH
4815: LD_INT 2
4817: PPUSH
4818: CALL_OW 12
4822: PUSH
4823: LD_INT 0
4825: PPUSH
4826: LD_INT 4
4828: PPUSH
4829: CALL_OW 12
4833: PUSH
4834: LD_INT 1
4836: PPUSH
4837: LD_INT 3
4839: PPUSH
4840: CALL_OW 12
4844: PUSH
4845: LD_VAR 0 13
4849: PUSH
4850: EMPTY
4851: LIST
4852: LIST
4853: LIST
4854: LIST
4855: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4856: LD_ADDR_OWVAR 27
4860: PUSH
4861: LD_INT 1
4863: PPUSH
4864: LD_INT 2
4866: PPUSH
4867: CALL_OW 12
4871: ST_TO_ADDR
// hc_class = 4 ;
4872: LD_ADDR_OWVAR 28
4876: PUSH
4877: LD_INT 4
4879: ST_TO_ADDR
// un = CreateHuman ;
4880: LD_ADDR_VAR 0 8
4884: PUSH
4885: CALL_OW 44
4889: ST_TO_ADDR
// PlaceHumanInUnit ( un , labRU1 ) ;
4890: LD_VAR 0 8
4894: PPUSH
4895: LD_INT 74
4897: PPUSH
4898: CALL_OW 52
// l = l + 1 ;
4902: LD_ADDR_VAR 0 9
4906: PUSH
4907: LD_VAR 0 9
4911: PUSH
4912: LD_INT 1
4914: PLUS
4915: ST_TO_ADDR
// end until l = 2 ;
4916: LD_VAR 0 9
4920: PUSH
4921: LD_INT 2
4923: EQUAL
4924: IFFALSE 4744
// end ; end ;
4926: GO 4718
4928: POP
4929: POP
// for i in armouryAM1 do
4930: LD_ADDR_VAR 0 7
4934: PUSH
4935: LD_INT 493
4937: PUSH
4938: FOR_IN
4939: IFFALSE 5154
// begin l = 0 ;
4941: LD_ADDR_VAR 0 9
4945: PUSH
4946: LD_INT 0
4948: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
4949: LD_VAR 0 7
4953: PPUSH
4954: CALL_OW 310
4958: PUSH
4959: LD_INT 0
4961: EQUAL
4962: IFFALSE 5152
// begin repeat begin uc_side = 1 ;
4964: LD_ADDR_OWVAR 20
4968: PUSH
4969: LD_INT 1
4971: ST_TO_ADDR
// uc_nation = 1 ;
4972: LD_ADDR_OWVAR 21
4976: PUSH
4977: LD_INT 1
4979: ST_TO_ADDR
// hc_gallery =  ;
4980: LD_ADDR_OWVAR 33
4984: PUSH
4985: LD_STRING 
4987: ST_TO_ADDR
// hc_name =  ;
4988: LD_ADDR_OWVAR 26
4992: PUSH
4993: LD_STRING 
4995: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4996: LD_ADDR_OWVAR 29
5000: PUSH
5001: LD_INT 9
5003: PPUSH
5004: LD_INT 11
5006: PPUSH
5007: CALL_OW 12
5011: PUSH
5012: LD_INT 10
5014: PPUSH
5015: LD_INT 12
5017: PPUSH
5018: CALL_OW 12
5022: PUSH
5023: EMPTY
5024: LIST
5025: LIST
5026: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 2 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
5027: LD_ADDR_OWVAR 31
5031: PUSH
5032: LD_INT 5
5034: PPUSH
5035: LD_INT 7
5037: PPUSH
5038: CALL_OW 12
5042: PUSH
5043: LD_INT 0
5045: PPUSH
5046: LD_INT 2
5048: PPUSH
5049: CALL_OW 12
5053: PUSH
5054: LD_INT 0
5056: PPUSH
5057: LD_INT 3
5059: PPUSH
5060: CALL_OW 12
5064: PUSH
5065: LD_INT 0
5067: PPUSH
5068: LD_INT 2
5070: PPUSH
5071: CALL_OW 12
5075: PUSH
5076: EMPTY
5077: LIST
5078: LIST
5079: LIST
5080: LIST
5081: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5082: LD_ADDR_OWVAR 27
5086: PUSH
5087: LD_INT 1
5089: PPUSH
5090: LD_INT 2
5092: PPUSH
5093: CALL_OW 12
5097: ST_TO_ADDR
// hc_class = 1 ;
5098: LD_ADDR_OWVAR 28
5102: PUSH
5103: LD_INT 1
5105: ST_TO_ADDR
// un = CreateHuman ;
5106: LD_ADDR_VAR 0 8
5110: PUSH
5111: CALL_OW 44
5115: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryAM1 ) ;
5116: LD_VAR 0 8
5120: PPUSH
5121: LD_INT 493
5123: PPUSH
5124: CALL_OW 52
// l = l + 1 ;
5128: LD_ADDR_VAR 0 9
5132: PUSH
5133: LD_VAR 0 9
5137: PUSH
5138: LD_INT 1
5140: PLUS
5141: ST_TO_ADDR
// end until l = 3 ;
5142: LD_VAR 0 9
5146: PUSH
5147: LD_INT 3
5149: EQUAL
5150: IFFALSE 4964
// end ; end ;
5152: GO 4938
5154: POP
5155: POP
// for i in armouryAM2 do
5156: LD_ADDR_VAR 0 7
5160: PUSH
5161: LD_INT 377
5163: PUSH
5164: FOR_IN
5165: IFFALSE 5480
// begin if IsInUnit ( i ) = 0 then
5167: LD_VAR 0 7
5171: PPUSH
5172: CALL_OW 310
5176: PUSH
5177: LD_INT 0
5179: EQUAL
5180: IFFALSE 5478
// begin uc_side = 1 ;
5182: LD_ADDR_OWVAR 20
5186: PUSH
5187: LD_INT 1
5189: ST_TO_ADDR
// uc_nation = 1 ;
5190: LD_ADDR_OWVAR 21
5194: PUSH
5195: LD_INT 1
5197: ST_TO_ADDR
// hc_gallery =  ;
5198: LD_ADDR_OWVAR 33
5202: PUSH
5203: LD_STRING 
5205: ST_TO_ADDR
// hc_name =  ;
5206: LD_ADDR_OWVAR 26
5210: PUSH
5211: LD_STRING 
5213: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5214: LD_ADDR_OWVAR 29
5218: PUSH
5219: LD_INT 9
5221: PPUSH
5222: LD_INT 11
5224: PPUSH
5225: CALL_OW 12
5229: PUSH
5230: LD_INT 10
5232: PPUSH
5233: LD_INT 12
5235: PPUSH
5236: CALL_OW 12
5240: PUSH
5241: EMPTY
5242: LIST
5243: LIST
5244: ST_TO_ADDR
// hc_skills = [ 4 , 3 , 2 , 1 ] ;
5245: LD_ADDR_OWVAR 31
5249: PUSH
5250: LD_INT 4
5252: PUSH
5253: LD_INT 3
5255: PUSH
5256: LD_INT 2
5258: PUSH
5259: LD_INT 1
5261: PUSH
5262: EMPTY
5263: LIST
5264: LIST
5265: LIST
5266: LIST
5267: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5268: LD_ADDR_OWVAR 27
5272: PUSH
5273: LD_INT 1
5275: PPUSH
5276: LD_INT 2
5278: PPUSH
5279: CALL_OW 12
5283: ST_TO_ADDR
// hc_class = 1 ;
5284: LD_ADDR_OWVAR 28
5288: PUSH
5289: LD_INT 1
5291: ST_TO_ADDR
// un = CreateHuman ;
5292: LD_ADDR_VAR 0 8
5296: PUSH
5297: CALL_OW 44
5301: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
5302: LD_ADDR_EXP 6
5306: PUSH
5307: LD_EXP 6
5311: PUSH
5312: LD_VAR 0 8
5316: ADD
5317: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryAM2 ) ;
5318: LD_VAR 0 8
5322: PPUSH
5323: LD_INT 377
5325: PPUSH
5326: CALL_OW 52
// uc_side = 1 ;
5330: LD_ADDR_OWVAR 20
5334: PUSH
5335: LD_INT 1
5337: ST_TO_ADDR
// uc_nation = 1 ;
5338: LD_ADDR_OWVAR 21
5342: PUSH
5343: LD_INT 1
5345: ST_TO_ADDR
// hc_gallery =  ;
5346: LD_ADDR_OWVAR 33
5350: PUSH
5351: LD_STRING 
5353: ST_TO_ADDR
// hc_name =  ;
5354: LD_ADDR_OWVAR 26
5358: PUSH
5359: LD_STRING 
5361: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5362: LD_ADDR_OWVAR 29
5366: PUSH
5367: LD_INT 9
5369: PPUSH
5370: LD_INT 11
5372: PPUSH
5373: CALL_OW 12
5377: PUSH
5378: LD_INT 10
5380: PPUSH
5381: LD_INT 12
5383: PPUSH
5384: CALL_OW 12
5388: PUSH
5389: EMPTY
5390: LIST
5391: LIST
5392: ST_TO_ADDR
// hc_skills = [ 5 , 2 , 3 , 2 ] ;
5393: LD_ADDR_OWVAR 31
5397: PUSH
5398: LD_INT 5
5400: PUSH
5401: LD_INT 2
5403: PUSH
5404: LD_INT 3
5406: PUSH
5407: LD_INT 2
5409: PUSH
5410: EMPTY
5411: LIST
5412: LIST
5413: LIST
5414: LIST
5415: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5416: LD_ADDR_OWVAR 27
5420: PUSH
5421: LD_INT 1
5423: PPUSH
5424: LD_INT 2
5426: PPUSH
5427: CALL_OW 12
5431: ST_TO_ADDR
// hc_class = 1 ;
5432: LD_ADDR_OWVAR 28
5436: PUSH
5437: LD_INT 1
5439: ST_TO_ADDR
// un = CreateHuman ;
5440: LD_ADDR_VAR 0 8
5444: PUSH
5445: CALL_OW 44
5449: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
5450: LD_ADDR_EXP 6
5454: PUSH
5455: LD_EXP 6
5459: PUSH
5460: LD_VAR 0 8
5464: ADD
5465: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryAM2 ) ;
5466: LD_VAR 0 8
5470: PPUSH
5471: LD_INT 377
5473: PPUSH
5474: CALL_OW 52
// end ; end ;
5478: GO 5164
5480: POP
5481: POP
// for i in armouryRU1 do
5482: LD_ADDR_VAR 0 7
5486: PUSH
5487: LD_INT 124
5489: PUSH
5490: FOR_IN
5491: IFFALSE 5706
// begin l = 0 ;
5493: LD_ADDR_VAR 0 9
5497: PUSH
5498: LD_INT 0
5500: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
5501: LD_VAR 0 7
5505: PPUSH
5506: CALL_OW 310
5510: PUSH
5511: LD_INT 0
5513: EQUAL
5514: IFFALSE 5704
// begin repeat begin uc_side = 3 ;
5516: LD_ADDR_OWVAR 20
5520: PUSH
5521: LD_INT 3
5523: ST_TO_ADDR
// uc_nation = 3 ;
5524: LD_ADDR_OWVAR 21
5528: PUSH
5529: LD_INT 3
5531: ST_TO_ADDR
// hc_gallery =  ;
5532: LD_ADDR_OWVAR 33
5536: PUSH
5537: LD_STRING 
5539: ST_TO_ADDR
// hc_name =  ;
5540: LD_ADDR_OWVAR 26
5544: PUSH
5545: LD_STRING 
5547: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5548: LD_ADDR_OWVAR 29
5552: PUSH
5553: LD_INT 9
5555: PPUSH
5556: LD_INT 11
5558: PPUSH
5559: CALL_OW 12
5563: PUSH
5564: LD_INT 10
5566: PPUSH
5567: LD_INT 12
5569: PPUSH
5570: CALL_OW 12
5574: PUSH
5575: EMPTY
5576: LIST
5577: LIST
5578: ST_TO_ADDR
// hc_skills = [ SolLevel , Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
5579: LD_ADDR_OWVAR 31
5583: PUSH
5584: LD_VAR 0 10
5588: PUSH
5589: LD_INT 1
5591: PPUSH
5592: LD_INT 4
5594: PPUSH
5595: CALL_OW 12
5599: PUSH
5600: LD_INT 0
5602: PPUSH
5603: LD_INT 3
5605: PPUSH
5606: CALL_OW 12
5610: PUSH
5611: LD_INT 0
5613: PPUSH
5614: LD_INT 2
5616: PPUSH
5617: CALL_OW 12
5621: PUSH
5622: EMPTY
5623: LIST
5624: LIST
5625: LIST
5626: LIST
5627: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5628: LD_ADDR_OWVAR 27
5632: PUSH
5633: LD_INT 1
5635: PPUSH
5636: LD_INT 2
5638: PPUSH
5639: CALL_OW 12
5643: ST_TO_ADDR
// hc_class = 1 ;
5644: LD_ADDR_OWVAR 28
5648: PUSH
5649: LD_INT 1
5651: ST_TO_ADDR
// un = CreateHuman ;
5652: LD_ADDR_VAR 0 8
5656: PUSH
5657: CALL_OW 44
5661: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryRU1 ) ;
5662: LD_VAR 0 8
5666: PPUSH
5667: LD_INT 124
5669: PPUSH
5670: CALL_OW 52
// l = l + 1 ;
5674: LD_ADDR_VAR 0 9
5678: PUSH
5679: LD_VAR 0 9
5683: PUSH
5684: LD_INT 1
5686: PLUS
5687: ST_TO_ADDR
// end until l = 4 + MedValue ;
5688: LD_VAR 0 9
5692: PUSH
5693: LD_INT 4
5695: PUSH
5696: LD_VAR 0 3
5700: PLUS
5701: EQUAL
5702: IFFALSE 5516
// end ; end ;
5704: GO 5490
5706: POP
5707: POP
// for i in armouryRU2 do
5708: LD_ADDR_VAR 0 7
5712: PUSH
5713: LD_INT 96
5715: PUSH
5716: FOR_IN
5717: IFFALSE 5932
// begin l = 0 ;
5719: LD_ADDR_VAR 0 9
5723: PUSH
5724: LD_INT 0
5726: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
5727: LD_VAR 0 7
5731: PPUSH
5732: CALL_OW 310
5736: PUSH
5737: LD_INT 0
5739: EQUAL
5740: IFFALSE 5930
// begin repeat begin uc_side = 3 ;
5742: LD_ADDR_OWVAR 20
5746: PUSH
5747: LD_INT 3
5749: ST_TO_ADDR
// uc_nation = 3 ;
5750: LD_ADDR_OWVAR 21
5754: PUSH
5755: LD_INT 3
5757: ST_TO_ADDR
// hc_gallery =  ;
5758: LD_ADDR_OWVAR 33
5762: PUSH
5763: LD_STRING 
5765: ST_TO_ADDR
// hc_name =  ;
5766: LD_ADDR_OWVAR 26
5770: PUSH
5771: LD_STRING 
5773: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5774: LD_ADDR_OWVAR 29
5778: PUSH
5779: LD_INT 9
5781: PPUSH
5782: LD_INT 11
5784: PPUSH
5785: CALL_OW 12
5789: PUSH
5790: LD_INT 10
5792: PPUSH
5793: LD_INT 12
5795: PPUSH
5796: CALL_OW 12
5800: PUSH
5801: EMPTY
5802: LIST
5803: LIST
5804: ST_TO_ADDR
// hc_skills = [ SolLevel , Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
5805: LD_ADDR_OWVAR 31
5809: PUSH
5810: LD_VAR 0 10
5814: PUSH
5815: LD_INT 1
5817: PPUSH
5818: LD_INT 4
5820: PPUSH
5821: CALL_OW 12
5825: PUSH
5826: LD_INT 0
5828: PPUSH
5829: LD_INT 3
5831: PPUSH
5832: CALL_OW 12
5836: PUSH
5837: LD_INT 0
5839: PPUSH
5840: LD_INT 2
5842: PPUSH
5843: CALL_OW 12
5847: PUSH
5848: EMPTY
5849: LIST
5850: LIST
5851: LIST
5852: LIST
5853: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5854: LD_ADDR_OWVAR 27
5858: PUSH
5859: LD_INT 1
5861: PPUSH
5862: LD_INT 2
5864: PPUSH
5865: CALL_OW 12
5869: ST_TO_ADDR
// hc_class = 1 ;
5870: LD_ADDR_OWVAR 28
5874: PUSH
5875: LD_INT 1
5877: ST_TO_ADDR
// un = CreateHuman ;
5878: LD_ADDR_VAR 0 8
5882: PUSH
5883: CALL_OW 44
5887: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryRU2 ) ;
5888: LD_VAR 0 8
5892: PPUSH
5893: LD_INT 96
5895: PPUSH
5896: CALL_OW 52
// l = l + 1 ;
5900: LD_ADDR_VAR 0 9
5904: PUSH
5905: LD_VAR 0 9
5909: PUSH
5910: LD_INT 1
5912: PLUS
5913: ST_TO_ADDR
// end until l = 4 + MedValue ;
5914: LD_VAR 0 9
5918: PUSH
5919: LD_INT 4
5921: PUSH
5922: LD_VAR 0 3
5926: PLUS
5927: EQUAL
5928: IFFALSE 5742
// end ; end ;
5930: GO 5716
5932: POP
5933: POP
// end ; end_of_file
5934: LD_VAR 0 1
5938: RET
// every 4 4$00 trigger FilterUnitsInArea ( LeftSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 0 marked 100 do
5939: LD_INT 1
5941: PPUSH
5942: LD_INT 22
5944: PUSH
5945: LD_INT 3
5947: PUSH
5948: EMPTY
5949: LIST
5950: LIST
5951: PUSH
5952: LD_INT 21
5954: PUSH
5955: LD_INT 2
5957: PUSH
5958: EMPTY
5959: LIST
5960: LIST
5961: PUSH
5962: LD_INT 33
5964: PUSH
5965: LD_INT 1
5967: PUSH
5968: EMPTY
5969: LIST
5970: LIST
5971: PUSH
5972: EMPTY
5973: LIST
5974: LIST
5975: LIST
5976: PPUSH
5977: CALL_OW 70
5981: PUSH
5982: LD_INT 0
5984: EQUAL
5985: IFFALSE 5994
5987: GO 5989
5989: DISABLE
// begin SpawnVehiclesLeft ;
5990: CALL 5995 0 0
// end ;
5994: END
// export function SpawnVehiclesLeft ; var MechList , Level , un , ve , l ; begin
5995: LD_INT 0
5997: PPUSH
5998: PPUSH
5999: PPUSH
6000: PPUSH
6001: PPUSH
6002: PPUSH
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
6003: LD_ADDR_VAR 0 3
6007: PUSH
6008: LD_INT 5
6010: PUSH
6011: LD_INT 6
6013: PUSH
6014: LD_INT 7
6016: PUSH
6017: EMPTY
6018: LIST
6019: LIST
6020: LIST
6021: PUSH
6022: LD_OWVAR 67
6026: ARRAY
6027: ST_TO_ADDR
// l = 0 ;
6028: LD_ADDR_VAR 0 6
6032: PUSH
6033: LD_INT 0
6035: ST_TO_ADDR
// hc_importance = 0 ;
6036: LD_ADDR_OWVAR 32
6040: PUSH
6041: LD_INT 0
6043: ST_TO_ADDR
// repeat vc_chassis = ru_medium_wheeled ;
6044: LD_ADDR_OWVAR 37
6048: PUSH
6049: LD_INT 21
6051: ST_TO_ADDR
// vc_engine = engine_combustion ;
6052: LD_ADDR_OWVAR 39
6056: PUSH
6057: LD_INT 1
6059: ST_TO_ADDR
// vc_control = control_manual ;
6060: LD_ADDR_OWVAR 38
6064: PUSH
6065: LD_INT 1
6067: ST_TO_ADDR
// vc_weapon = ru_gun ;
6068: LD_ADDR_OWVAR 40
6072: PUSH
6073: LD_INT 44
6075: ST_TO_ADDR
// hc_class = 3 ;
6076: LD_ADDR_OWVAR 28
6080: PUSH
6081: LD_INT 3
6083: ST_TO_ADDR
// hc_name =  ;
6084: LD_ADDR_OWVAR 26
6088: PUSH
6089: LD_STRING 
6091: ST_TO_ADDR
// uc_side = 3 ;
6092: LD_ADDR_OWVAR 20
6096: PUSH
6097: LD_INT 3
6099: ST_TO_ADDR
// uc_nation = 3 ;
6100: LD_ADDR_OWVAR 21
6104: PUSH
6105: LD_INT 3
6107: ST_TO_ADDR
// hc_gallery =  ;
6108: LD_ADDR_OWVAR 33
6112: PUSH
6113: LD_STRING 
6115: ST_TO_ADDR
// hc_sex = sex_male ;
6116: LD_ADDR_OWVAR 27
6120: PUSH
6121: LD_INT 1
6123: ST_TO_ADDR
// ve = CreateVehicle ;
6124: LD_ADDR_VAR 0 5
6128: PUSH
6129: CALL_OW 45
6133: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
6134: LD_ADDR_OWVAR 31
6138: PUSH
6139: LD_INT 0
6141: PPUSH
6142: LD_INT 4
6144: PPUSH
6145: CALL_OW 12
6149: PUSH
6150: LD_INT 2
6152: PPUSH
6153: LD_INT 4
6155: PPUSH
6156: CALL_OW 12
6160: PUSH
6161: LD_VAR 0 3
6165: PUSH
6166: LD_INT 0
6168: PPUSH
6169: LD_INT 2
6171: PPUSH
6172: CALL_OW 12
6176: PUSH
6177: EMPTY
6178: LIST
6179: LIST
6180: LIST
6181: LIST
6182: ST_TO_ADDR
// un = CreateHuman ;
6183: LD_ADDR_VAR 0 4
6187: PUSH
6188: CALL_OW 44
6192: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
6193: LD_VAR 0 4
6197: PPUSH
6198: LD_VAR 0 5
6202: PPUSH
6203: CALL_OW 52
// PlaceUnitArea ( ve , LeftHelp , false ) ;
6207: LD_VAR 0 5
6211: PPUSH
6212: LD_INT 3
6214: PPUSH
6215: LD_INT 0
6217: PPUSH
6218: CALL_OW 49
// l = l + 1 ;
6222: LD_ADDR_VAR 0 6
6226: PUSH
6227: LD_VAR 0 6
6231: PUSH
6232: LD_INT 1
6234: PLUS
6235: ST_TO_ADDR
// until l = [ 2 , 3 , 3 ] [ Difficulty ] ;
6236: LD_VAR 0 6
6240: PUSH
6241: LD_INT 2
6243: PUSH
6244: LD_INT 3
6246: PUSH
6247: LD_INT 3
6249: PUSH
6250: EMPTY
6251: LIST
6252: LIST
6253: LIST
6254: PUSH
6255: LD_OWVAR 67
6259: ARRAY
6260: EQUAL
6261: IFFALSE 6044
// end ;
6263: LD_VAR 0 1
6267: RET
// every 0 0$01 marked 35 do
6268: GO 6270
6270: DISABLE
// begin enable ;
6271: ENABLE
// if FilterUnitsInArea ( LeftSciganie , [ [ f_side , 4 ] ] ) >= 1 then
6272: LD_INT 1
6274: PPUSH
6275: LD_INT 22
6277: PUSH
6278: LD_INT 4
6280: PUSH
6281: EMPTY
6282: LIST
6283: LIST
6284: PUSH
6285: EMPTY
6286: LIST
6287: PPUSH
6288: CALL_OW 70
6292: PUSH
6293: LD_INT 1
6295: GREATEREQUAL
6296: IFFALSE 6306
// begin enable ( 31 ) ;
6298: LD_INT 31
6300: ENABLE_MARKED
// disable ( 32 ) ;
6301: LD_INT 32
6303: DISABLE_MARKED
// end else
6304: GO 6341
// if FilterUnitsInArea ( LeftSciganie , [ [ f_side , 4 ] ] ) = 0 then
6306: LD_INT 1
6308: PPUSH
6309: LD_INT 22
6311: PUSH
6312: LD_INT 4
6314: PUSH
6315: EMPTY
6316: LIST
6317: LIST
6318: PUSH
6319: EMPTY
6320: LIST
6321: PPUSH
6322: CALL_OW 70
6326: PUSH
6327: LD_INT 0
6329: EQUAL
6330: IFFALSE 6341
// begin disable ( 31 ) ;
6332: LD_INT 31
6334: DISABLE_MARKED
// enable ( 32 ) ;
6335: LD_INT 32
6337: ENABLE_MARKED
// enable ( 36 ) ;
6338: LD_INT 36
6340: ENABLE_MARKED
// end ; end ;
6341: END
// every 0 0$2 marked 32 do var pojazdy , Mech , i ;
6342: GO 6344
6344: DISABLE
6345: LD_INT 0
6347: PPUSH
6348: PPUSH
6349: PPUSH
// begin pojazdy = FilterUnitsInArea ( LeftSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
6350: LD_ADDR_VAR 0 1
6354: PUSH
6355: LD_INT 1
6357: PPUSH
6358: LD_INT 22
6360: PUSH
6361: LD_INT 3
6363: PUSH
6364: EMPTY
6365: LIST
6366: LIST
6367: PUSH
6368: LD_INT 21
6370: PUSH
6371: LD_INT 2
6373: PUSH
6374: EMPTY
6375: LIST
6376: LIST
6377: PUSH
6378: LD_INT 33
6380: PUSH
6381: LD_INT 1
6383: PUSH
6384: EMPTY
6385: LIST
6386: LIST
6387: PUSH
6388: EMPTY
6389: LIST
6390: LIST
6391: LIST
6392: PPUSH
6393: CALL_OW 70
6397: ST_TO_ADDR
// for i in pojazdy do
6398: LD_ADDR_VAR 0 3
6402: PUSH
6403: LD_VAR 0 1
6407: PUSH
6408: FOR_IN
6409: IFFALSE 6527
// begin if GetLives ( i ) < 999 then
6411: LD_VAR 0 3
6415: PPUSH
6416: CALL_OW 256
6420: PUSH
6421: LD_INT 999
6423: LESS
6424: IFFALSE 6513
// begin Mech := IsDrivenBy ( i ) ;
6426: LD_ADDR_VAR 0 2
6430: PUSH
6431: LD_VAR 0 3
6435: PPUSH
6436: CALL_OW 311
6440: ST_TO_ADDR
// comMoveToArea ( i , L1Stop ) ;
6441: LD_VAR 0 3
6445: PPUSH
6446: LD_INT 6
6448: PPUSH
6449: CALL_OW 113
// Wait ( 0 0$1 ) ;
6453: LD_INT 35
6455: PPUSH
6456: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
6460: LD_VAR 0 2
6464: PPUSH
6465: CALL_OW 181
// Wait ( 0 0$1 ) ;
6469: LD_INT 35
6471: PPUSH
6472: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
6476: LD_VAR 0 2
6480: PPUSH
6481: LD_VAR 0 3
6485: PPUSH
6486: CALL_OW 189
// Wait ( 0 0$1 ) ;
6490: LD_INT 35
6492: PPUSH
6493: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
6497: LD_VAR 0 2
6501: PPUSH
6502: LD_VAR 0 3
6506: PPUSH
6507: CALL_OW 180
// end else
6511: GO 6525
// begin comMoveToArea ( i , L1Stop ) ;
6513: LD_VAR 0 3
6517: PPUSH
6518: LD_INT 6
6520: PPUSH
6521: CALL_OW 113
// end ; end ;
6525: GO 6408
6527: POP
6528: POP
// disable ;
6529: DISABLE
// end ;
6530: PPOPN 3
6532: END
// every 0 0$01 marked 31 do var i , atakujacy , broniacy , Mech ;
6533: GO 6535
6535: DISABLE
6536: LD_INT 0
6538: PPUSH
6539: PPUSH
6540: PPUSH
6541: PPUSH
// begin broniacy = FilterUnitsInArea ( LeftSciganie , [ f_side , 4 ] ) ;
6542: LD_ADDR_VAR 0 3
6546: PUSH
6547: LD_INT 1
6549: PPUSH
6550: LD_INT 22
6552: PUSH
6553: LD_INT 4
6555: PUSH
6556: EMPTY
6557: LIST
6558: LIST
6559: PPUSH
6560: CALL_OW 70
6564: ST_TO_ADDR
// atakujacy = FilterUnitsInArea ( LeftSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
6565: LD_ADDR_VAR 0 2
6569: PUSH
6570: LD_INT 1
6572: PPUSH
6573: LD_INT 22
6575: PUSH
6576: LD_INT 3
6578: PUSH
6579: EMPTY
6580: LIST
6581: LIST
6582: PUSH
6583: LD_INT 21
6585: PUSH
6586: LD_INT 2
6588: PUSH
6589: EMPTY
6590: LIST
6591: LIST
6592: PUSH
6593: LD_INT 33
6595: PUSH
6596: LD_INT 1
6598: PUSH
6599: EMPTY
6600: LIST
6601: LIST
6602: PUSH
6603: EMPTY
6604: LIST
6605: LIST
6606: LIST
6607: PPUSH
6608: CALL_OW 70
6612: ST_TO_ADDR
// for i in atakujacy do
6613: LD_ADDR_VAR 0 1
6617: PUSH
6618: LD_VAR 0 2
6622: PUSH
6623: FOR_IN
6624: IFFALSE 6664
// begin ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
6626: LD_VAR 0 1
6630: PPUSH
6631: LD_VAR 0 3
6635: PPUSH
6636: LD_VAR 0 1
6640: PPUSH
6641: CALL_OW 74
6645: PPUSH
6646: CALL_OW 115
// setFuel ( i , 100 ) ;
6650: LD_VAR 0 1
6654: PPUSH
6655: LD_INT 100
6657: PPUSH
6658: CALL_OW 240
// end ;
6662: GO 6623
6664: POP
6665: POP
// end ;
6666: PPOPN 4
6668: END
// every 4 4$00 trigger FilterUnitsInArea ( RightSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 0 marked 100 do
6669: LD_INT 2
6671: PPUSH
6672: LD_INT 22
6674: PUSH
6675: LD_INT 3
6677: PUSH
6678: EMPTY
6679: LIST
6680: LIST
6681: PUSH
6682: LD_INT 21
6684: PUSH
6685: LD_INT 2
6687: PUSH
6688: EMPTY
6689: LIST
6690: LIST
6691: PUSH
6692: LD_INT 33
6694: PUSH
6695: LD_INT 1
6697: PUSH
6698: EMPTY
6699: LIST
6700: LIST
6701: PUSH
6702: EMPTY
6703: LIST
6704: LIST
6705: LIST
6706: PPUSH
6707: CALL_OW 70
6711: PUSH
6712: LD_INT 0
6714: EQUAL
6715: IFFALSE 6725
6717: GO 6719
6719: DISABLE
// begin enable ;
6720: ENABLE
// SpawnVehiclesRight ;
6721: CALL 6726 0 0
// end ;
6725: END
// export function SpawnVehiclesRight ; var MechList , Level , un , ve , l ; begin
6726: LD_INT 0
6728: PPUSH
6729: PPUSH
6730: PPUSH
6731: PPUSH
6732: PPUSH
6733: PPUSH
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
6734: LD_ADDR_VAR 0 3
6738: PUSH
6739: LD_INT 5
6741: PUSH
6742: LD_INT 6
6744: PUSH
6745: LD_INT 7
6747: PUSH
6748: EMPTY
6749: LIST
6750: LIST
6751: LIST
6752: PUSH
6753: LD_OWVAR 67
6757: ARRAY
6758: ST_TO_ADDR
// l = 0 ;
6759: LD_ADDR_VAR 0 6
6763: PUSH
6764: LD_INT 0
6766: ST_TO_ADDR
// hc_importance = 0 ;
6767: LD_ADDR_OWVAR 32
6771: PUSH
6772: LD_INT 0
6774: ST_TO_ADDR
// repeat vc_chassis = ru_medium_wheeled ;
6775: LD_ADDR_OWVAR 37
6779: PUSH
6780: LD_INT 21
6782: ST_TO_ADDR
// vc_engine = engine_combustion ;
6783: LD_ADDR_OWVAR 39
6787: PUSH
6788: LD_INT 1
6790: ST_TO_ADDR
// vc_control = control_manual ;
6791: LD_ADDR_OWVAR 38
6795: PUSH
6796: LD_INT 1
6798: ST_TO_ADDR
// vc_weapon = ru_gun ;
6799: LD_ADDR_OWVAR 40
6803: PUSH
6804: LD_INT 44
6806: ST_TO_ADDR
// hc_class = 3 ;
6807: LD_ADDR_OWVAR 28
6811: PUSH
6812: LD_INT 3
6814: ST_TO_ADDR
// hc_name =  ;
6815: LD_ADDR_OWVAR 26
6819: PUSH
6820: LD_STRING 
6822: ST_TO_ADDR
// uc_side = 3 ;
6823: LD_ADDR_OWVAR 20
6827: PUSH
6828: LD_INT 3
6830: ST_TO_ADDR
// uc_nation = 3 ;
6831: LD_ADDR_OWVAR 21
6835: PUSH
6836: LD_INT 3
6838: ST_TO_ADDR
// hc_gallery =  ;
6839: LD_ADDR_OWVAR 33
6843: PUSH
6844: LD_STRING 
6846: ST_TO_ADDR
// hc_sex = sex_male ;
6847: LD_ADDR_OWVAR 27
6851: PUSH
6852: LD_INT 1
6854: ST_TO_ADDR
// ve = CreateVehicle ;
6855: LD_ADDR_VAR 0 5
6859: PUSH
6860: CALL_OW 45
6864: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
6865: LD_ADDR_OWVAR 31
6869: PUSH
6870: LD_INT 0
6872: PPUSH
6873: LD_INT 4
6875: PPUSH
6876: CALL_OW 12
6880: PUSH
6881: LD_INT 2
6883: PPUSH
6884: LD_INT 4
6886: PPUSH
6887: CALL_OW 12
6891: PUSH
6892: LD_VAR 0 3
6896: PUSH
6897: LD_INT 0
6899: PPUSH
6900: LD_INT 2
6902: PPUSH
6903: CALL_OW 12
6907: PUSH
6908: EMPTY
6909: LIST
6910: LIST
6911: LIST
6912: LIST
6913: ST_TO_ADDR
// un = CreateHuman ;
6914: LD_ADDR_VAR 0 4
6918: PUSH
6919: CALL_OW 44
6923: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
6924: LD_VAR 0 4
6928: PPUSH
6929: LD_VAR 0 5
6933: PPUSH
6934: CALL_OW 52
// PlaceUnitArea ( ve , RightHelp , false ) ;
6938: LD_VAR 0 5
6942: PPUSH
6943: LD_INT 4
6945: PPUSH
6946: LD_INT 0
6948: PPUSH
6949: CALL_OW 49
// l = l + 1 ;
6953: LD_ADDR_VAR 0 6
6957: PUSH
6958: LD_VAR 0 6
6962: PUSH
6963: LD_INT 1
6965: PLUS
6966: ST_TO_ADDR
// until l = [ 2 , 3 , 3 ] [ Difficulty ] ;
6967: LD_VAR 0 6
6971: PUSH
6972: LD_INT 2
6974: PUSH
6975: LD_INT 3
6977: PUSH
6978: LD_INT 3
6980: PUSH
6981: EMPTY
6982: LIST
6983: LIST
6984: LIST
6985: PUSH
6986: LD_OWVAR 67
6990: ARRAY
6991: EQUAL
6992: IFFALSE 6775
// end ;
6994: LD_VAR 0 1
6998: RET
// every 0 0$01 marked 45 do
6999: GO 7001
7001: DISABLE
// begin enable ;
7002: ENABLE
// if FilterUnitsInArea ( RightSciganie , [ [ f_side , 4 ] ] ) >= 1 then
7003: LD_INT 2
7005: PPUSH
7006: LD_INT 22
7008: PUSH
7009: LD_INT 4
7011: PUSH
7012: EMPTY
7013: LIST
7014: LIST
7015: PUSH
7016: EMPTY
7017: LIST
7018: PPUSH
7019: CALL_OW 70
7023: PUSH
7024: LD_INT 1
7026: GREATEREQUAL
7027: IFFALSE 7037
// begin enable ( 41 ) ;
7029: LD_INT 41
7031: ENABLE_MARKED
// disable ( 42 ) ;
7032: LD_INT 42
7034: DISABLE_MARKED
// end else
7035: GO 7072
// if FilterUnitsInArea ( RightSciganie , [ [ f_side , 4 ] ] ) = 0 then
7037: LD_INT 2
7039: PPUSH
7040: LD_INT 22
7042: PUSH
7043: LD_INT 4
7045: PUSH
7046: EMPTY
7047: LIST
7048: LIST
7049: PUSH
7050: EMPTY
7051: LIST
7052: PPUSH
7053: CALL_OW 70
7057: PUSH
7058: LD_INT 0
7060: EQUAL
7061: IFFALSE 7072
// begin disable ( 41 ) ;
7063: LD_INT 41
7065: DISABLE_MARKED
// enable ( 42 ) ;
7066: LD_INT 42
7068: ENABLE_MARKED
// enable ( 46 ) ;
7069: LD_INT 46
7071: ENABLE_MARKED
// end ; end ;
7072: END
// every 0 0$2 marked 42 do var pojazdy , Mech , i ;
7073: GO 7075
7075: DISABLE
7076: LD_INT 0
7078: PPUSH
7079: PPUSH
7080: PPUSH
// begin pojazdy = FilterUnitsInArea ( RightSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
7081: LD_ADDR_VAR 0 1
7085: PUSH
7086: LD_INT 2
7088: PPUSH
7089: LD_INT 22
7091: PUSH
7092: LD_INT 3
7094: PUSH
7095: EMPTY
7096: LIST
7097: LIST
7098: PUSH
7099: LD_INT 21
7101: PUSH
7102: LD_INT 2
7104: PUSH
7105: EMPTY
7106: LIST
7107: LIST
7108: PUSH
7109: LD_INT 33
7111: PUSH
7112: LD_INT 1
7114: PUSH
7115: EMPTY
7116: LIST
7117: LIST
7118: PUSH
7119: EMPTY
7120: LIST
7121: LIST
7122: LIST
7123: PPUSH
7124: CALL_OW 70
7128: ST_TO_ADDR
// for i in pojazdy do
7129: LD_ADDR_VAR 0 3
7133: PUSH
7134: LD_VAR 0 1
7138: PUSH
7139: FOR_IN
7140: IFFALSE 7258
// begin if GetLives ( i ) < 999 then
7142: LD_VAR 0 3
7146: PPUSH
7147: CALL_OW 256
7151: PUSH
7152: LD_INT 999
7154: LESS
7155: IFFALSE 7244
// begin Mech := IsDrivenBy ( i ) ;
7157: LD_ADDR_VAR 0 2
7161: PUSH
7162: LD_VAR 0 3
7166: PPUSH
7167: CALL_OW 311
7171: ST_TO_ADDR
// comMoveToArea ( i , R1Stop ) ;
7172: LD_VAR 0 3
7176: PPUSH
7177: LD_INT 5
7179: PPUSH
7180: CALL_OW 113
// Wait ( 0 0$1 ) ;
7184: LD_INT 35
7186: PPUSH
7187: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
7191: LD_VAR 0 2
7195: PPUSH
7196: CALL_OW 181
// Wait ( 0 0$1 ) ;
7200: LD_INT 35
7202: PPUSH
7203: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
7207: LD_VAR 0 2
7211: PPUSH
7212: LD_VAR 0 3
7216: PPUSH
7217: CALL_OW 189
// Wait ( 0 0$1 ) ;
7221: LD_INT 35
7223: PPUSH
7224: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
7228: LD_VAR 0 2
7232: PPUSH
7233: LD_VAR 0 3
7237: PPUSH
7238: CALL_OW 180
// end else
7242: GO 7256
// begin comMoveToArea ( i , R1Stop ) ;
7244: LD_VAR 0 3
7248: PPUSH
7249: LD_INT 5
7251: PPUSH
7252: CALL_OW 113
// end ; end ;
7256: GO 7139
7258: POP
7259: POP
// disable ;
7260: DISABLE
// end ;
7261: PPOPN 3
7263: END
// every 0 0$01 marked 41 do var i , atakujacy , broniacy , Mech ;
7264: GO 7266
7266: DISABLE
7267: LD_INT 0
7269: PPUSH
7270: PPUSH
7271: PPUSH
7272: PPUSH
// begin enable ;
7273: ENABLE
// broniacy = FilterUnitsInArea ( RightSciganie , [ f_side , 4 ] ) ;
7274: LD_ADDR_VAR 0 3
7278: PUSH
7279: LD_INT 2
7281: PPUSH
7282: LD_INT 22
7284: PUSH
7285: LD_INT 4
7287: PUSH
7288: EMPTY
7289: LIST
7290: LIST
7291: PPUSH
7292: CALL_OW 70
7296: ST_TO_ADDR
// atakujacy = FilterUnitsInArea ( RightSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
7297: LD_ADDR_VAR 0 2
7301: PUSH
7302: LD_INT 2
7304: PPUSH
7305: LD_INT 22
7307: PUSH
7308: LD_INT 3
7310: PUSH
7311: EMPTY
7312: LIST
7313: LIST
7314: PUSH
7315: LD_INT 21
7317: PUSH
7318: LD_INT 2
7320: PUSH
7321: EMPTY
7322: LIST
7323: LIST
7324: PUSH
7325: LD_INT 33
7327: PUSH
7328: LD_INT 1
7330: PUSH
7331: EMPTY
7332: LIST
7333: LIST
7334: PUSH
7335: EMPTY
7336: LIST
7337: LIST
7338: LIST
7339: PPUSH
7340: CALL_OW 70
7344: ST_TO_ADDR
// for i in atakujacy do
7345: LD_ADDR_VAR 0 1
7349: PUSH
7350: LD_VAR 0 2
7354: PUSH
7355: FOR_IN
7356: IFFALSE 7396
// begin ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
7358: LD_VAR 0 1
7362: PPUSH
7363: LD_VAR 0 3
7367: PPUSH
7368: LD_VAR 0 1
7372: PPUSH
7373: CALL_OW 74
7377: PPUSH
7378: CALL_OW 115
// setFuel ( i , 100 ) ;
7382: LD_VAR 0 1
7386: PPUSH
7387: LD_INT 100
7389: PPUSH
7390: CALL_OW 240
// end ;
7394: GO 7355
7396: POP
7397: POP
// end ; end_of_file
7398: PPOPN 4
7400: END
// export Nefarem , Human1 , Human2 , Human3 , UnitsTab , mechAM , docAM , EngAM ; every 0 0$01 do
7401: GO 7403
7403: DISABLE
// begin uc_side = 4 ;
7404: LD_ADDR_OWVAR 20
7408: PUSH
7409: LD_INT 4
7411: ST_TO_ADDR
// uc_nation = 1 ;
7412: LD_ADDR_OWVAR 21
7416: PUSH
7417: LD_INT 1
7419: ST_TO_ADDR
// Nefarem := CreateCharacter ( Nefarem ) ;
7420: LD_ADDR_EXP 7
7424: PUSH
7425: LD_STRING Nefarem
7427: PPUSH
7428: CALL_OW 34
7432: ST_TO_ADDR
// uc_side = 4 ;
7433: LD_ADDR_OWVAR 20
7437: PUSH
7438: LD_INT 4
7440: ST_TO_ADDR
// uc_nation = 1 ;
7441: LD_ADDR_OWVAR 21
7445: PUSH
7446: LD_INT 1
7448: ST_TO_ADDR
// Human1 := CreateCharacter ( Human1 ) ;
7449: LD_ADDR_EXP 8
7453: PUSH
7454: LD_STRING Human1
7456: PPUSH
7457: CALL_OW 34
7461: ST_TO_ADDR
// uc_side = 4 ;
7462: LD_ADDR_OWVAR 20
7466: PUSH
7467: LD_INT 4
7469: ST_TO_ADDR
// uc_nation = 1 ;
7470: LD_ADDR_OWVAR 21
7474: PUSH
7475: LD_INT 1
7477: ST_TO_ADDR
// Human2 := CreateCharacter ( Human2 ) ;
7478: LD_ADDR_EXP 9
7482: PUSH
7483: LD_STRING Human2
7485: PPUSH
7486: CALL_OW 34
7490: ST_TO_ADDR
// uc_side = 4 ;
7491: LD_ADDR_OWVAR 20
7495: PUSH
7496: LD_INT 4
7498: ST_TO_ADDR
// uc_nation = 1 ;
7499: LD_ADDR_OWVAR 21
7503: PUSH
7504: LD_INT 1
7506: ST_TO_ADDR
// Human3 := CreateCharacter ( Human3 ) ;
7507: LD_ADDR_EXP 10
7511: PUSH
7512: LD_STRING Human3
7514: PPUSH
7515: CALL_OW 34
7519: ST_TO_ADDR
// UnitsTab = Human1 ^ Human2 ^ Nefarem ^ Human3 ;
7520: LD_ADDR_EXP 11
7524: PUSH
7525: LD_EXP 8
7529: PUSH
7530: LD_EXP 9
7534: ADD
7535: PUSH
7536: LD_EXP 7
7540: ADD
7541: PUSH
7542: LD_EXP 10
7546: ADD
7547: ST_TO_ADDR
// hc_importance = 100 ;
7548: LD_ADDR_OWVAR 32
7552: PUSH
7553: LD_INT 100
7555: ST_TO_ADDR
// uc_side = 1 ;
7556: LD_ADDR_OWVAR 20
7560: PUSH
7561: LD_INT 1
7563: ST_TO_ADDR
// uc_nation = 1 ;
7564: LD_ADDR_OWVAR 21
7568: PUSH
7569: LD_INT 1
7571: ST_TO_ADDR
// hc_gallery =  ;
7572: LD_ADDR_OWVAR 33
7576: PUSH
7577: LD_STRING 
7579: ST_TO_ADDR
// hc_name =  ;
7580: LD_ADDR_OWVAR 26
7584: PUSH
7585: LD_STRING 
7587: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7588: LD_ADDR_OWVAR 29
7592: PUSH
7593: LD_INT 9
7595: PPUSH
7596: LD_INT 11
7598: PPUSH
7599: CALL_OW 12
7603: PUSH
7604: LD_INT 10
7606: PPUSH
7607: LD_INT 12
7609: PPUSH
7610: CALL_OW 12
7614: PUSH
7615: EMPTY
7616: LIST
7617: LIST
7618: ST_TO_ADDR
// hc_skills = [ 3 , 3 , 6 , 1 ] ;
7619: LD_ADDR_OWVAR 31
7623: PUSH
7624: LD_INT 3
7626: PUSH
7627: LD_INT 3
7629: PUSH
7630: LD_INT 6
7632: PUSH
7633: LD_INT 1
7635: PUSH
7636: EMPTY
7637: LIST
7638: LIST
7639: LIST
7640: LIST
7641: ST_TO_ADDR
// hc_sex = sex_male ;
7642: LD_ADDR_OWVAR 27
7646: PUSH
7647: LD_INT 1
7649: ST_TO_ADDR
// hc_class = 3 ;
7650: LD_ADDR_OWVAR 28
7654: PUSH
7655: LD_INT 3
7657: ST_TO_ADDR
// mechAM := CreateHuman ;
7658: LD_ADDR_EXP 12
7662: PUSH
7663: CALL_OW 44
7667: ST_TO_ADDR
// hc_importance = 100 ;
7668: LD_ADDR_OWVAR 32
7672: PUSH
7673: LD_INT 100
7675: ST_TO_ADDR
// uc_side = 1 ;
7676: LD_ADDR_OWVAR 20
7680: PUSH
7681: LD_INT 1
7683: ST_TO_ADDR
// uc_nation = 1 ;
7684: LD_ADDR_OWVAR 21
7688: PUSH
7689: LD_INT 1
7691: ST_TO_ADDR
// hc_gallery =  ;
7692: LD_ADDR_OWVAR 33
7696: PUSH
7697: LD_STRING 
7699: ST_TO_ADDR
// hc_name =  ;
7700: LD_ADDR_OWVAR 26
7704: PUSH
7705: LD_STRING 
7707: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7708: LD_ADDR_OWVAR 29
7712: PUSH
7713: LD_INT 9
7715: PPUSH
7716: LD_INT 11
7718: PPUSH
7719: CALL_OW 12
7723: PUSH
7724: LD_INT 10
7726: PPUSH
7727: LD_INT 12
7729: PPUSH
7730: CALL_OW 12
7734: PUSH
7735: EMPTY
7736: LIST
7737: LIST
7738: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , 6 , Rand ( 1 , 3 ) , Rand ( 0 , 4 ) ] ;
7739: LD_ADDR_OWVAR 31
7743: PUSH
7744: LD_INT 0
7746: PPUSH
7747: LD_INT 2
7749: PPUSH
7750: CALL_OW 12
7754: PUSH
7755: LD_INT 6
7757: PUSH
7758: LD_INT 1
7760: PPUSH
7761: LD_INT 3
7763: PPUSH
7764: CALL_OW 12
7768: PUSH
7769: LD_INT 0
7771: PPUSH
7772: LD_INT 4
7774: PPUSH
7775: CALL_OW 12
7779: PUSH
7780: EMPTY
7781: LIST
7782: LIST
7783: LIST
7784: LIST
7785: ST_TO_ADDR
// hc_sex = sex_male ;
7786: LD_ADDR_OWVAR 27
7790: PUSH
7791: LD_INT 1
7793: ST_TO_ADDR
// hc_class = 2 ;
7794: LD_ADDR_OWVAR 28
7798: PUSH
7799: LD_INT 2
7801: ST_TO_ADDR
// engAM := CreateHuman ;
7802: LD_ADDR_EXP 14
7806: PUSH
7807: CALL_OW 44
7811: ST_TO_ADDR
// PlaceHumanInUnit ( engAM , depotAM2 ) ;
7812: LD_EXP 14
7816: PPUSH
7817: LD_INT 480
7819: PPUSH
7820: CALL_OW 52
// hc_importance = 100 ;
7824: LD_ADDR_OWVAR 32
7828: PUSH
7829: LD_INT 100
7831: ST_TO_ADDR
// uc_side = 1 ;
7832: LD_ADDR_OWVAR 20
7836: PUSH
7837: LD_INT 1
7839: ST_TO_ADDR
// uc_nation = 1 ;
7840: LD_ADDR_OWVAR 21
7844: PUSH
7845: LD_INT 1
7847: ST_TO_ADDR
// hc_gallery =  ;
7848: LD_ADDR_OWVAR 33
7852: PUSH
7853: LD_STRING 
7855: ST_TO_ADDR
// hc_name =  ;
7856: LD_ADDR_OWVAR 26
7860: PUSH
7861: LD_STRING 
7863: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7864: LD_ADDR_OWVAR 29
7868: PUSH
7869: LD_INT 9
7871: PPUSH
7872: LD_INT 11
7874: PPUSH
7875: CALL_OW 12
7879: PUSH
7880: LD_INT 10
7882: PPUSH
7883: LD_INT 12
7885: PPUSH
7886: CALL_OW 12
7890: PUSH
7891: EMPTY
7892: LIST
7893: LIST
7894: ST_TO_ADDR
// hc_skills = [ 0 , 2 , 4 , 7 ] ;
7895: LD_ADDR_OWVAR 31
7899: PUSH
7900: LD_INT 0
7902: PUSH
7903: LD_INT 2
7905: PUSH
7906: LD_INT 4
7908: PUSH
7909: LD_INT 7
7911: PUSH
7912: EMPTY
7913: LIST
7914: LIST
7915: LIST
7916: LIST
7917: ST_TO_ADDR
// hc_sex = sex_male ;
7918: LD_ADDR_OWVAR 27
7922: PUSH
7923: LD_INT 1
7925: ST_TO_ADDR
// hc_class = 4 ;
7926: LD_ADDR_OWVAR 28
7930: PUSH
7931: LD_INT 4
7933: ST_TO_ADDR
// docAM := CreateHuman ;
7934: LD_ADDR_EXP 13
7938: PUSH
7939: CALL_OW 44
7943: ST_TO_ADDR
// PlaceHumanInUnit ( docAM , labAM1 ) ;
7944: LD_EXP 13
7948: PPUSH
7949: LD_INT 463
7951: PPUSH
7952: CALL_OW 52
// end ;
7956: END
// every 0 0$01 do var tab , i , p , x , veh , filter ;
7957: GO 7959
7959: DISABLE
7960: LD_INT 0
7962: PPUSH
7963: PPUSH
7964: PPUSH
7965: PPUSH
7966: PPUSH
7967: PPUSH
// begin uc_side := 4 ;
7968: LD_ADDR_OWVAR 20
7972: PUSH
7973: LD_INT 4
7975: ST_TO_ADDR
// Center = 1 ;
7976: LD_ADDR_EXP 5
7980: PUSH
7981: LD_INT 1
7983: ST_TO_ADDR
// tab := LoadVariable ( unit_vehs , [ ] ) ;
7984: LD_ADDR_VAR 0 1
7988: PUSH
7989: LD_STRING unit_vehs
7991: PPUSH
7992: EMPTY
7993: PPUSH
7994: CALL_OW 30
7998: ST_TO_ADDR
// x := 1 ;
7999: LD_ADDR_VAR 0 4
8003: PUSH
8004: LD_INT 1
8006: ST_TO_ADDR
// i := 1 ;
8007: LD_ADDR_VAR 0 2
8011: PUSH
8012: LD_INT 1
8014: ST_TO_ADDR
// p := 1 ;
8015: LD_ADDR_VAR 0 3
8019: PUSH
8020: LD_INT 1
8022: ST_TO_ADDR
// if tab > 0 then
8023: LD_VAR 0 1
8027: PUSH
8028: LD_INT 0
8030: GREATER
8031: IFFALSE 8292
// while ( i <= tab ) do
8033: LD_VAR 0 2
8037: PUSH
8038: LD_VAR 0 1
8042: LESSEQUAL
8043: IFFALSE 8292
// begin vc_chassis := tab [ i ] ;
8045: LD_ADDR_OWVAR 37
8049: PUSH
8050: LD_VAR 0 1
8054: PUSH
8055: LD_VAR 0 2
8059: ARRAY
8060: ST_TO_ADDR
// vc_engine := tab [ i + 1 ] ;
8061: LD_ADDR_OWVAR 39
8065: PUSH
8066: LD_VAR 0 1
8070: PUSH
8071: LD_VAR 0 2
8075: PUSH
8076: LD_INT 1
8078: PLUS
8079: ARRAY
8080: ST_TO_ADDR
// vc_control := tab [ i + 2 ] ;
8081: LD_ADDR_OWVAR 38
8085: PUSH
8086: LD_VAR 0 1
8090: PUSH
8091: LD_VAR 0 2
8095: PUSH
8096: LD_INT 2
8098: PLUS
8099: ARRAY
8100: ST_TO_ADDR
// vc_weapon := tab [ i + 3 ] ;
8101: LD_ADDR_OWVAR 40
8105: PUSH
8106: LD_VAR 0 1
8110: PUSH
8111: LD_VAR 0 2
8115: PUSH
8116: LD_INT 3
8118: PLUS
8119: ARRAY
8120: ST_TO_ADDR
// veh := CreateVehicle ;
8121: LD_ADDR_VAR 0 5
8125: PUSH
8126: CALL_OW 45
8130: ST_TO_ADDR
// Poj = Poj ^ veh ;
8131: LD_ADDR_EXP 28
8135: PUSH
8136: LD_EXP 28
8140: PUSH
8141: LD_VAR 0 5
8145: ADD
8146: ST_TO_ADDR
// PlaceUnitArea ( veh , Start , false ) ;
8147: LD_VAR 0 5
8151: PPUSH
8152: LD_INT 8
8154: PPUSH
8155: LD_INT 0
8157: PPUSH
8158: CALL_OW 49
// PlaceHumanInUnit ( UnitsTab [ x ] , veh ) ;
8162: LD_EXP 11
8166: PUSH
8167: LD_VAR 0 4
8171: ARRAY
8172: PPUSH
8173: LD_VAR 0 5
8177: PPUSH
8178: CALL_OW 52
// wait ( 0 0$01 ) ;
8182: LD_INT 35
8184: PPUSH
8185: CALL_OW 67
// ComMoveXY ( veh , 58 , 52 ) ;
8189: LD_VAR 0 5
8193: PPUSH
8194: LD_INT 58
8196: PPUSH
8197: LD_INT 52
8199: PPUSH
8200: CALL_OW 111
// wait ( 0 0$01 ) ;
8204: LD_INT 35
8206: PPUSH
8207: CALL_OW 67
// AddComMoveXY ( veh , 97 , 45 ) ;
8211: LD_VAR 0 5
8215: PPUSH
8216: LD_INT 97
8218: PPUSH
8219: LD_INT 45
8221: PPUSH
8222: CALL_OW 171
// wait ( 0 0$01 ) ;
8226: LD_INT 35
8228: PPUSH
8229: CALL_OW 67
// AddComMoveXY ( veh , 131 , 18 ) ;
8233: LD_VAR 0 5
8237: PPUSH
8238: LD_INT 131
8240: PPUSH
8241: LD_INT 18
8243: PPUSH
8244: CALL_OW 171
// p := p + 1 ;
8248: LD_ADDR_VAR 0 3
8252: PUSH
8253: LD_VAR 0 3
8257: PUSH
8258: LD_INT 1
8260: PLUS
8261: ST_TO_ADDR
// i := i + 4 ;
8262: LD_ADDR_VAR 0 2
8266: PUSH
8267: LD_VAR 0 2
8271: PUSH
8272: LD_INT 4
8274: PLUS
8275: ST_TO_ADDR
// x := x + 1 ;
8276: LD_ADDR_VAR 0 4
8280: PUSH
8281: LD_VAR 0 4
8285: PUSH
8286: LD_INT 1
8288: PLUS
8289: ST_TO_ADDR
// end ;
8290: GO 8033
// end ; end_of_file
8292: PPOPN 6
8294: END
// export buildings3 ; every 0 0$01 do
8295: GO 8297
8297: DISABLE
// begin enable ;
8298: ENABLE
// buildings3 := FilterUnitsInArea ( Ru3Base , [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
8299: LD_ADDR_EXP 15
8303: PUSH
8304: LD_INT 7
8306: PPUSH
8307: LD_INT 22
8309: PUSH
8310: LD_INT 3
8312: PUSH
8313: EMPTY
8314: LIST
8315: LIST
8316: PUSH
8317: LD_INT 21
8319: PUSH
8320: LD_INT 3
8322: PUSH
8323: EMPTY
8324: LIST
8325: LIST
8326: PUSH
8327: LD_INT 3
8329: PUSH
8330: LD_INT 24
8332: PUSH
8333: LD_INT 1000
8335: PUSH
8336: EMPTY
8337: LIST
8338: LIST
8339: PUSH
8340: EMPTY
8341: LIST
8342: LIST
8343: PUSH
8344: EMPTY
8345: LIST
8346: LIST
8347: LIST
8348: PUSH
8349: EMPTY
8350: LIST
8351: PPUSH
8352: CALL_OW 70
8356: ST_TO_ADDR
// end ;
8357: END
// every 0 0$01 do var EnginerList , EnginerListOutside , buildings , i ;
8358: GO 8360
8360: DISABLE
8361: LD_INT 0
8363: PPUSH
8364: PPUSH
8365: PPUSH
8366: PPUSH
// begin enable ;
8367: ENABLE
// EnginerList := UnitsInside ( depotRU1 ) ;
8368: LD_ADDR_VAR 0 1
8372: PUSH
8373: LD_INT 57
8375: PPUSH
8376: CALL_OW 313
8380: ST_TO_ADDR
// EnginerListOutside := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] ] ] ) ;
8381: LD_ADDR_VAR 0 2
8385: PUSH
8386: LD_INT 22
8388: PUSH
8389: LD_INT 3
8391: PUSH
8392: EMPTY
8393: LIST
8394: LIST
8395: PUSH
8396: LD_INT 25
8398: PUSH
8399: LD_INT 2
8401: PUSH
8402: EMPTY
8403: LIST
8404: LIST
8405: PUSH
8406: EMPTY
8407: LIST
8408: LIST
8409: PUSH
8410: EMPTY
8411: LIST
8412: PPUSH
8413: CALL_OW 69
8417: ST_TO_ADDR
// if buildings3 > 0 then
8418: LD_EXP 15
8422: PUSH
8423: LD_INT 0
8425: GREATER
8426: IFFALSE 8574
// begin repeat for i = 1 to EnginerList do
8428: LD_ADDR_VAR 0 4
8432: PUSH
8433: DOUBLE
8434: LD_INT 1
8436: DEC
8437: ST_TO_ADDR
8438: LD_VAR 0 1
8442: PUSH
8443: FOR_TO
8444: IFFALSE 8553
// begin if HasTask ( EnginerList [ i ] ) = true then
8446: LD_VAR 0 1
8450: PUSH
8451: LD_VAR 0 4
8455: ARRAY
8456: PPUSH
8457: CALL_OW 314
8461: PUSH
8462: LD_INT 1
8464: EQUAL
8465: IFFALSE 8469
// begin end else
8467: GO 8551
// begin if IsInUnit ( EnginerList [ i ] ) then
8469: LD_VAR 0 1
8473: PUSH
8474: LD_VAR 0 4
8478: ARRAY
8479: PPUSH
8480: CALL_OW 310
8484: IFFALSE 8527
// begin ComExitBuilding ( EnginerList [ i ] ) ;
8486: LD_VAR 0 1
8490: PUSH
8491: LD_VAR 0 4
8495: ARRAY
8496: PPUSH
8497: CALL_OW 122
// AddComRepairBuilding ( EnginerList [ i ] , buildings3 [ 1 ] ) ;
8501: LD_VAR 0 1
8505: PUSH
8506: LD_VAR 0 4
8510: ARRAY
8511: PPUSH
8512: LD_EXP 15
8516: PUSH
8517: LD_INT 1
8519: ARRAY
8520: PPUSH
8521: CALL_OW 190
// end else
8525: GO 8551
// begin AddComRepairBuilding ( EnginerList [ i ] , buildings3 [ 1 ] ) ;
8527: LD_VAR 0 1
8531: PUSH
8532: LD_VAR 0 4
8536: ARRAY
8537: PPUSH
8538: LD_EXP 15
8542: PUSH
8543: LD_INT 1
8545: ARRAY
8546: PPUSH
8547: CALL_OW 190
// end ; end ; end ;
8551: GO 8443
8553: POP
8554: POP
// wait ( 0 0$01 ) ;
8555: LD_INT 35
8557: PPUSH
8558: CALL_OW 67
// until buildings3 = 0 end else
8562: LD_EXP 15
8566: PUSH
8567: LD_INT 0
8569: EQUAL
8570: IFFALSE 8428
8572: GO 8643
// if buildings3 = 0 then
8574: LD_EXP 15
8578: PUSH
8579: LD_INT 0
8581: EQUAL
8582: IFFALSE 8643
// begin for i = 1 to EnginerListOutside do
8584: LD_ADDR_VAR 0 4
8588: PUSH
8589: DOUBLE
8590: LD_INT 1
8592: DEC
8593: ST_TO_ADDR
8594: LD_VAR 0 2
8598: PUSH
8599: FOR_TO
8600: IFFALSE 8641
// begin if IsInUnit ( EnginerList [ i ] ) then
8602: LD_VAR 0 1
8606: PUSH
8607: LD_VAR 0 4
8611: ARRAY
8612: PPUSH
8613: CALL_OW 310
8617: IFFALSE 8621
// begin end else
8619: GO 8639
// begin ComEnterUnit ( EnginerListOutside [ i ] , depotRU1 ) ;
8621: LD_VAR 0 2
8625: PUSH
8626: LD_VAR 0 4
8630: ARRAY
8631: PPUSH
8632: LD_INT 57
8634: PPUSH
8635: CALL_OW 120
// end ; end ;
8639: GO 8599
8641: POP
8642: POP
// end ; end ; end_of_file
8643: PPOPN 4
8645: END
// every 6 6$00 trigger FilterUnitsInArea ( AreaDefend , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 0 marked 100 do var MechList , Level , un , ve , Chasis , weap , l , x ;
8646: LD_INT 9
8648: PPUSH
8649: LD_INT 22
8651: PUSH
8652: LD_INT 6
8654: PUSH
8655: EMPTY
8656: LIST
8657: LIST
8658: PUSH
8659: LD_INT 21
8661: PUSH
8662: LD_INT 2
8664: PUSH
8665: EMPTY
8666: LIST
8667: LIST
8668: PUSH
8669: LD_INT 33
8671: PUSH
8672: LD_INT 1
8674: PUSH
8675: EMPTY
8676: LIST
8677: LIST
8678: PUSH
8679: EMPTY
8680: LIST
8681: LIST
8682: LIST
8683: PPUSH
8684: CALL_OW 70
8688: PUSH
8689: LD_INT 0
8691: EQUAL
8692: IFFALSE 9052
8694: GO 8696
8696: DISABLE
8697: LD_INT 0
8699: PPUSH
8700: PPUSH
8701: PPUSH
8702: PPUSH
8703: PPUSH
8704: PPUSH
8705: PPUSH
8706: PPUSH
// begin enable ;
8707: ENABLE
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
8708: LD_ADDR_VAR 0 2
8712: PUSH
8713: LD_INT 5
8715: PUSH
8716: LD_INT 6
8718: PUSH
8719: LD_INT 7
8721: PUSH
8722: EMPTY
8723: LIST
8724: LIST
8725: LIST
8726: PUSH
8727: LD_OWVAR 67
8731: ARRAY
8732: ST_TO_ADDR
// Chasis = [ ru_medium_tracked , ru_medium_tracked , ru_heavy_tracked ] [ Difficulty ] ;
8733: LD_ADDR_VAR 0 5
8737: PUSH
8738: LD_INT 22
8740: PUSH
8741: LD_INT 22
8743: PUSH
8744: LD_INT 24
8746: PUSH
8747: EMPTY
8748: LIST
8749: LIST
8750: LIST
8751: PUSH
8752: LD_OWVAR 67
8756: ARRAY
8757: ST_TO_ADDR
// weap = [ ru_gun , ru_gun , ru_heavy_gun ] [ Difficulty ] ;
8758: LD_ADDR_VAR 0 6
8762: PUSH
8763: LD_INT 44
8765: PUSH
8766: LD_INT 44
8768: PUSH
8769: LD_INT 46
8771: PUSH
8772: EMPTY
8773: LIST
8774: LIST
8775: LIST
8776: PUSH
8777: LD_OWVAR 67
8781: ARRAY
8782: ST_TO_ADDR
// x = [ 2 , 3 , 3 ] [ Difficulty ] ;
8783: LD_ADDR_VAR 0 8
8787: PUSH
8788: LD_INT 2
8790: PUSH
8791: LD_INT 3
8793: PUSH
8794: LD_INT 3
8796: PUSH
8797: EMPTY
8798: LIST
8799: LIST
8800: LIST
8801: PUSH
8802: LD_OWVAR 67
8806: ARRAY
8807: ST_TO_ADDR
// l = 0 ;
8808: LD_ADDR_VAR 0 7
8812: PUSH
8813: LD_INT 0
8815: ST_TO_ADDR
// hc_importance = 0 ;
8816: LD_ADDR_OWVAR 32
8820: PUSH
8821: LD_INT 0
8823: ST_TO_ADDR
// repeat vc_chassis = Chasis ;
8824: LD_ADDR_OWVAR 37
8828: PUSH
8829: LD_VAR 0 5
8833: ST_TO_ADDR
// vc_engine = engine_combustion ;
8834: LD_ADDR_OWVAR 39
8838: PUSH
8839: LD_INT 1
8841: ST_TO_ADDR
// vc_control = control_manual ;
8842: LD_ADDR_OWVAR 38
8846: PUSH
8847: LD_INT 1
8849: ST_TO_ADDR
// if l = 3 then
8850: LD_VAR 0 7
8854: PUSH
8855: LD_INT 3
8857: EQUAL
8858: IFFALSE 8872
// begin vc_weapon = weap ;
8860: LD_ADDR_OWVAR 40
8864: PUSH
8865: LD_VAR 0 6
8869: ST_TO_ADDR
// end else
8870: GO 8880
// begin vc_weapon = ru_gun ;
8872: LD_ADDR_OWVAR 40
8876: PUSH
8877: LD_INT 44
8879: ST_TO_ADDR
// end ; hc_class = 3 ;
8880: LD_ADDR_OWVAR 28
8884: PUSH
8885: LD_INT 3
8887: ST_TO_ADDR
// hc_name =  ;
8888: LD_ADDR_OWVAR 26
8892: PUSH
8893: LD_STRING 
8895: ST_TO_ADDR
// uc_side = 6 ;
8896: LD_ADDR_OWVAR 20
8900: PUSH
8901: LD_INT 6
8903: ST_TO_ADDR
// uc_nation = 3 ;
8904: LD_ADDR_OWVAR 21
8908: PUSH
8909: LD_INT 3
8911: ST_TO_ADDR
// hc_gallery =  ;
8912: LD_ADDR_OWVAR 33
8916: PUSH
8917: LD_STRING 
8919: ST_TO_ADDR
// hc_sex = sex_male ;
8920: LD_ADDR_OWVAR 27
8924: PUSH
8925: LD_INT 1
8927: ST_TO_ADDR
// ve = CreateVehicle ;
8928: LD_ADDR_VAR 0 4
8932: PUSH
8933: CALL_OW 45
8937: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
8938: LD_ADDR_OWVAR 31
8942: PUSH
8943: LD_INT 0
8945: PPUSH
8946: LD_INT 4
8948: PPUSH
8949: CALL_OW 12
8953: PUSH
8954: LD_INT 2
8956: PPUSH
8957: LD_INT 4
8959: PPUSH
8960: CALL_OW 12
8964: PUSH
8965: LD_VAR 0 2
8969: PUSH
8970: LD_INT 0
8972: PPUSH
8973: LD_INT 2
8975: PPUSH
8976: CALL_OW 12
8980: PUSH
8981: EMPTY
8982: LIST
8983: LIST
8984: LIST
8985: LIST
8986: ST_TO_ADDR
// un = CreateHuman ;
8987: LD_ADDR_VAR 0 3
8991: PUSH
8992: CALL_OW 44
8996: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
8997: LD_VAR 0 3
9001: PPUSH
9002: LD_VAR 0 4
9006: PPUSH
9007: CALL_OW 52
// PlaceUnitArea ( ve , SpawnDefend , false ) ;
9011: LD_VAR 0 4
9015: PPUSH
9016: LD_INT 10
9018: PPUSH
9019: LD_INT 0
9021: PPUSH
9022: CALL_OW 49
// l = l + 1 ;
9026: LD_ADDR_VAR 0 7
9030: PUSH
9031: LD_VAR 0 7
9035: PUSH
9036: LD_INT 1
9038: PLUS
9039: ST_TO_ADDR
// until l = x ;
9040: LD_VAR 0 7
9044: PUSH
9045: LD_VAR 0 8
9049: EQUAL
9050: IFFALSE 8824
// end ;
9052: PPOPN 8
9054: END
// every 0 0$01 marked 65 do
9055: GO 9057
9057: DISABLE
// begin enable ;
9058: ENABLE
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_inarea , AreaDefend ] ] ) >= 1 then
9059: LD_INT 22
9061: PUSH
9062: LD_INT 4
9064: PUSH
9065: EMPTY
9066: LIST
9067: LIST
9068: PUSH
9069: LD_INT 95
9071: PUSH
9072: LD_INT 9
9074: PUSH
9075: EMPTY
9076: LIST
9077: LIST
9078: PUSH
9079: EMPTY
9080: LIST
9081: LIST
9082: PPUSH
9083: CALL_OW 69
9087: PUSH
9088: LD_INT 1
9090: GREATEREQUAL
9091: IFFALSE 9101
// begin enable ( 61 ) ;
9093: LD_INT 61
9095: ENABLE_MARKED
// disable ( 62 ) ;
9096: LD_INT 62
9098: DISABLE_MARKED
// end else
9099: GO 9144
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_inarea , AreaDefend ] ] ) = 0 then
9101: LD_INT 22
9103: PUSH
9104: LD_INT 4
9106: PUSH
9107: EMPTY
9108: LIST
9109: LIST
9110: PUSH
9111: LD_INT 95
9113: PUSH
9114: LD_INT 9
9116: PUSH
9117: EMPTY
9118: LIST
9119: LIST
9120: PUSH
9121: EMPTY
9122: LIST
9123: LIST
9124: PPUSH
9125: CALL_OW 69
9129: PUSH
9130: LD_INT 0
9132: EQUAL
9133: IFFALSE 9144
// begin disable ( 61 ) ;
9135: LD_INT 61
9137: DISABLE_MARKED
// enable ( 62 ) ;
9138: LD_INT 62
9140: ENABLE_MARKED
// enable ( 66 ) ;
9141: LD_INT 66
9143: ENABLE_MARKED
// end ; end ;
9144: END
// every 0 0$2 marked 62 do var pojazdy , Mech , i ;
9145: GO 9147
9147: DISABLE
9148: LD_INT 0
9150: PPUSH
9151: PPUSH
9152: PPUSH
// begin pojazdy = FilterUnitsInArea ( AreaDefend , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
9153: LD_ADDR_VAR 0 1
9157: PUSH
9158: LD_INT 9
9160: PPUSH
9161: LD_INT 22
9163: PUSH
9164: LD_INT 6
9166: PUSH
9167: EMPTY
9168: LIST
9169: LIST
9170: PUSH
9171: LD_INT 21
9173: PUSH
9174: LD_INT 2
9176: PUSH
9177: EMPTY
9178: LIST
9179: LIST
9180: PUSH
9181: LD_INT 33
9183: PUSH
9184: LD_INT 1
9186: PUSH
9187: EMPTY
9188: LIST
9189: LIST
9190: PUSH
9191: EMPTY
9192: LIST
9193: LIST
9194: LIST
9195: PPUSH
9196: CALL_OW 70
9200: ST_TO_ADDR
// for i in pojazdy do
9201: LD_ADDR_VAR 0 3
9205: PUSH
9206: LD_VAR 0 1
9210: PUSH
9211: FOR_IN
9212: IFFALSE 9330
// begin if GetLives ( i ) < 999 then
9214: LD_VAR 0 3
9218: PPUSH
9219: CALL_OW 256
9223: PUSH
9224: LD_INT 999
9226: LESS
9227: IFFALSE 9316
// begin Mech := IsDrivenBy ( i ) ;
9229: LD_ADDR_VAR 0 2
9233: PUSH
9234: LD_VAR 0 3
9238: PPUSH
9239: CALL_OW 311
9243: ST_TO_ADDR
// comMoveToArea ( i , DefendStop ) ;
9244: LD_VAR 0 3
9248: PPUSH
9249: LD_INT 11
9251: PPUSH
9252: CALL_OW 113
// Wait ( 0 0$1 ) ;
9256: LD_INT 35
9258: PPUSH
9259: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
9263: LD_VAR 0 2
9267: PPUSH
9268: CALL_OW 181
// Wait ( 0 0$1 ) ;
9272: LD_INT 35
9274: PPUSH
9275: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
9279: LD_VAR 0 2
9283: PPUSH
9284: LD_VAR 0 3
9288: PPUSH
9289: CALL_OW 189
// Wait ( 0 0$1 ) ;
9293: LD_INT 35
9295: PPUSH
9296: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
9300: LD_VAR 0 2
9304: PPUSH
9305: LD_VAR 0 3
9309: PPUSH
9310: CALL_OW 180
// end else
9314: GO 9328
// begin comMoveToArea ( i , DefendStop ) ;
9316: LD_VAR 0 3
9320: PPUSH
9321: LD_INT 11
9323: PPUSH
9324: CALL_OW 113
// end ; end ;
9328: GO 9211
9330: POP
9331: POP
// disable ;
9332: DISABLE
// end ;
9333: PPOPN 3
9335: END
// every 0 0$02 marked 61 do var i , atakujacy , broniacy , Mech ;
9336: GO 9338
9338: DISABLE
9339: LD_INT 0
9341: PPUSH
9342: PPUSH
9343: PPUSH
9344: PPUSH
// begin enable ;
9345: ENABLE
// broniacy = FilterUnitsInArea ( AreaDefend , [ f_side , 4 ] ) ;
9346: LD_ADDR_VAR 0 3
9350: PUSH
9351: LD_INT 9
9353: PPUSH
9354: LD_INT 22
9356: PUSH
9357: LD_INT 4
9359: PUSH
9360: EMPTY
9361: LIST
9362: LIST
9363: PPUSH
9364: CALL_OW 70
9368: ST_TO_ADDR
// atakujacy = FilterUnitsInArea ( AreaDefend , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
9369: LD_ADDR_VAR 0 2
9373: PUSH
9374: LD_INT 9
9376: PPUSH
9377: LD_INT 22
9379: PUSH
9380: LD_INT 6
9382: PUSH
9383: EMPTY
9384: LIST
9385: LIST
9386: PUSH
9387: LD_INT 21
9389: PUSH
9390: LD_INT 2
9392: PUSH
9393: EMPTY
9394: LIST
9395: LIST
9396: PUSH
9397: LD_INT 33
9399: PUSH
9400: LD_INT 1
9402: PUSH
9403: EMPTY
9404: LIST
9405: LIST
9406: PUSH
9407: EMPTY
9408: LIST
9409: LIST
9410: LIST
9411: PPUSH
9412: CALL_OW 70
9416: ST_TO_ADDR
// for i in atakujacy do
9417: LD_ADDR_VAR 0 1
9421: PUSH
9422: LD_VAR 0 2
9426: PUSH
9427: FOR_IN
9428: IFFALSE 9570
// begin if GetLives ( i ) < 600 then
9430: LD_VAR 0 1
9434: PPUSH
9435: CALL_OW 256
9439: PUSH
9440: LD_INT 600
9442: LESS
9443: IFFALSE 9532
// begin Mech := IsDrivenBy ( i ) ;
9445: LD_ADDR_VAR 0 4
9449: PUSH
9450: LD_VAR 0 1
9454: PPUSH
9455: CALL_OW 311
9459: ST_TO_ADDR
// ComMoveToArea ( i , DefendStop ) ;
9460: LD_VAR 0 1
9464: PPUSH
9465: LD_INT 11
9467: PPUSH
9468: CALL_OW 113
// Wait ( 0 0$1 ) ;
9472: LD_INT 35
9474: PPUSH
9475: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
9479: LD_VAR 0 4
9483: PPUSH
9484: CALL_OW 181
// Wait ( 0 0$1 ) ;
9488: LD_INT 35
9490: PPUSH
9491: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
9495: LD_VAR 0 4
9499: PPUSH
9500: LD_VAR 0 1
9504: PPUSH
9505: CALL_OW 189
// Wait ( 0 0$1 ) ;
9509: LD_INT 35
9511: PPUSH
9512: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
9516: LD_VAR 0 4
9520: PPUSH
9521: LD_VAR 0 1
9525: PPUSH
9526: CALL_OW 180
// end else
9530: GO 9556
// ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
9532: LD_VAR 0 1
9536: PPUSH
9537: LD_VAR 0 3
9541: PPUSH
9542: LD_VAR 0 1
9546: PPUSH
9547: CALL_OW 74
9551: PPUSH
9552: CALL_OW 115
// setFuel ( i , 100 ) ;
9556: LD_VAR 0 1
9560: PPUSH
9561: LD_INT 100
9563: PPUSH
9564: CALL_OW 240
// end ;
9568: GO 9427
9570: POP
9571: POP
// end ; end_of_file
9572: PPOPN 4
9574: END
// export b , x1 , y1 , z1 , obrona , spawnarea , BigAttack ; every 4 4$30 marked 1000 do
9575: GO 9577
9577: DISABLE
// begin enable ;
9578: ENABLE
// Randomize ;
9579: CALL_OW 10
// case Rand ( 1 , 3 ) of 1 :
9583: LD_INT 1
9585: PPUSH
9586: LD_INT 3
9588: PPUSH
9589: CALL_OW 12
9593: PUSH
9594: LD_INT 1
9596: DOUBLE
9597: EQUAL
9598: IFTRUE 9602
9600: GO 9848
9602: POP
// begin case Rand ( 1 , 3 ) of 1 :
9603: LD_INT 1
9605: PPUSH
9606: LD_INT 3
9608: PPUSH
9609: CALL_OW 12
9613: PUSH
9614: LD_INT 1
9616: DOUBLE
9617: EQUAL
9618: IFTRUE 9622
9620: GO 9691
9622: POP
// begin x1 = x1 + 1 ;
9623: LD_ADDR_EXP 17
9627: PUSH
9628: LD_EXP 17
9632: PUSH
9633: LD_INT 1
9635: PLUS
9636: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
9637: LD_ADDR_EXP 20
9641: PUSH
9642: LD_INT 12
9644: PPUSH
9645: LD_INT 22
9647: PUSH
9648: LD_INT 4
9650: PUSH
9651: EMPTY
9652: LIST
9653: LIST
9654: PUSH
9655: EMPTY
9656: LIST
9657: PPUSH
9658: CALL_OW 70
9662: ST_TO_ADDR
// spawnarea = AttackXLeft ;
9663: LD_ADDR_EXP 21
9667: PUSH
9668: LD_INT 15
9670: ST_TO_ADDR
// BigAttack = BigAttack + 1 ;
9671: LD_ADDR_EXP 22
9675: PUSH
9676: LD_EXP 22
9680: PUSH
9681: LD_INT 1
9683: PLUS
9684: ST_TO_ADDR
// LowAttack ;
9685: CALL 11119 0 0
// end ; 2 :
9689: GO 9846
9691: LD_INT 2
9693: DOUBLE
9694: EQUAL
9695: IFTRUE 9699
9697: GO 9768
9699: POP
// begin x1 = x1 + 1 ;
9700: LD_ADDR_EXP 17
9704: PUSH
9705: LD_EXP 17
9709: PUSH
9710: LD_INT 1
9712: PLUS
9713: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
9714: LD_ADDR_EXP 20
9718: PUSH
9719: LD_INT 12
9721: PPUSH
9722: LD_INT 22
9724: PUSH
9725: LD_INT 4
9727: PUSH
9728: EMPTY
9729: LIST
9730: LIST
9731: PUSH
9732: EMPTY
9733: LIST
9734: PPUSH
9735: CALL_OW 70
9739: ST_TO_ADDR
// spawnarea = SpawnDefend ;
9740: LD_ADDR_EXP 21
9744: PUSH
9745: LD_INT 10
9747: ST_TO_ADDR
// LowAttack ;
9748: CALL 11119 0 0
// BigAttack = BigAttack + 1 ;
9752: LD_ADDR_EXP 22
9756: PUSH
9757: LD_EXP 22
9761: PUSH
9762: LD_INT 1
9764: PLUS
9765: ST_TO_ADDR
// end ; 3 :
9766: GO 9846
9768: LD_INT 3
9770: DOUBLE
9771: EQUAL
9772: IFTRUE 9776
9774: GO 9845
9776: POP
// begin x1 = x1 + 1 ;
9777: LD_ADDR_EXP 17
9781: PUSH
9782: LD_EXP 17
9786: PUSH
9787: LD_INT 1
9789: PLUS
9790: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
9791: LD_ADDR_EXP 20
9795: PUSH
9796: LD_INT 12
9798: PPUSH
9799: LD_INT 22
9801: PUSH
9802: LD_INT 4
9804: PUSH
9805: EMPTY
9806: LIST
9807: LIST
9808: PUSH
9809: EMPTY
9810: LIST
9811: PPUSH
9812: CALL_OW 70
9816: ST_TO_ADDR
// spawnarea = LeftHelp ;
9817: LD_ADDR_EXP 21
9821: PUSH
9822: LD_INT 3
9824: ST_TO_ADDR
// LowAttack ;
9825: CALL 11119 0 0
// BigAttack = BigAttack + 1 ;
9829: LD_ADDR_EXP 22
9833: PUSH
9834: LD_EXP 22
9838: PUSH
9839: LD_INT 1
9841: PLUS
9842: ST_TO_ADDR
// end ; end ;
9843: GO 9846
9845: POP
// end ; 2 :
9846: GO 10357
9848: LD_INT 2
9850: DOUBLE
9851: EQUAL
9852: IFTRUE 9856
9854: GO 10102
9856: POP
// begin case Rand ( 1 , 3 ) of 1 :
9857: LD_INT 1
9859: PPUSH
9860: LD_INT 3
9862: PPUSH
9863: CALL_OW 12
9867: PUSH
9868: LD_INT 1
9870: DOUBLE
9871: EQUAL
9872: IFTRUE 9876
9874: GO 9945
9876: POP
// begin y1 = y1 + 1 ;
9877: LD_ADDR_EXP 18
9881: PUSH
9882: LD_EXP 18
9886: PUSH
9887: LD_INT 1
9889: PLUS
9890: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
9891: LD_ADDR_EXP 20
9895: PUSH
9896: LD_INT 13
9898: PPUSH
9899: LD_INT 22
9901: PUSH
9902: LD_INT 4
9904: PUSH
9905: EMPTY
9906: LIST
9907: LIST
9908: PUSH
9909: EMPTY
9910: LIST
9911: PPUSH
9912: CALL_OW 70
9916: ST_TO_ADDR
// spawnarea = LeftHelp ;
9917: LD_ADDR_EXP 21
9921: PUSH
9922: LD_INT 3
9924: ST_TO_ADDR
// LowAttack ;
9925: CALL 11119 0 0
// BigAttack = BigAttack + 1 ;
9929: LD_ADDR_EXP 22
9933: PUSH
9934: LD_EXP 22
9938: PUSH
9939: LD_INT 1
9941: PLUS
9942: ST_TO_ADDR
// end ; 2 :
9943: GO 10100
9945: LD_INT 2
9947: DOUBLE
9948: EQUAL
9949: IFTRUE 9953
9951: GO 10022
9953: POP
// begin y1 = y1 + 1 ;
9954: LD_ADDR_EXP 18
9958: PUSH
9959: LD_EXP 18
9963: PUSH
9964: LD_INT 1
9966: PLUS
9967: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
9968: LD_ADDR_EXP 20
9972: PUSH
9973: LD_INT 13
9975: PPUSH
9976: LD_INT 22
9978: PUSH
9979: LD_INT 4
9981: PUSH
9982: EMPTY
9983: LIST
9984: LIST
9985: PUSH
9986: EMPTY
9987: LIST
9988: PPUSH
9989: CALL_OW 70
9993: ST_TO_ADDR
// spawnarea = RightHelp ;
9994: LD_ADDR_EXP 21
9998: PUSH
9999: LD_INT 4
10001: ST_TO_ADDR
// LowAttack ;
10002: CALL 11119 0 0
// BigAttack = BigAttack + 1 ;
10006: LD_ADDR_EXP 22
10010: PUSH
10011: LD_EXP 22
10015: PUSH
10016: LD_INT 1
10018: PLUS
10019: ST_TO_ADDR
// end ; 3 :
10020: GO 10100
10022: LD_INT 3
10024: DOUBLE
10025: EQUAL
10026: IFTRUE 10030
10028: GO 10099
10030: POP
// begin y1 = y1 + 1 ;
10031: LD_ADDR_EXP 18
10035: PUSH
10036: LD_EXP 18
10040: PUSH
10041: LD_INT 1
10043: PLUS
10044: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10045: LD_ADDR_EXP 20
10049: PUSH
10050: LD_INT 13
10052: PPUSH
10053: LD_INT 22
10055: PUSH
10056: LD_INT 4
10058: PUSH
10059: EMPTY
10060: LIST
10061: LIST
10062: PUSH
10063: EMPTY
10064: LIST
10065: PPUSH
10066: CALL_OW 70
10070: ST_TO_ADDR
// spawnarea = AttackYRight ;
10071: LD_ADDR_EXP 21
10075: PUSH
10076: LD_INT 16
10078: ST_TO_ADDR
// LowAttack ;
10079: CALL 11119 0 0
// BigAttack = BigAttack + 1 ;
10083: LD_ADDR_EXP 22
10087: PUSH
10088: LD_EXP 22
10092: PUSH
10093: LD_INT 1
10095: PLUS
10096: ST_TO_ADDR
// end ; end ;
10097: GO 10100
10099: POP
// end ; 3 :
10100: GO 10357
10102: LD_INT 3
10104: DOUBLE
10105: EQUAL
10106: IFTRUE 10110
10108: GO 10356
10110: POP
// begin case Rand ( 1 , 3 ) of 1 :
10111: LD_INT 1
10113: PPUSH
10114: LD_INT 3
10116: PPUSH
10117: CALL_OW 12
10121: PUSH
10122: LD_INT 1
10124: DOUBLE
10125: EQUAL
10126: IFTRUE 10130
10128: GO 10199
10130: POP
// begin z1 = z1 + 1 ;
10131: LD_ADDR_EXP 19
10135: PUSH
10136: LD_EXP 19
10140: PUSH
10141: LD_INT 1
10143: PLUS
10144: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10145: LD_ADDR_EXP 20
10149: PUSH
10150: LD_INT 14
10152: PPUSH
10153: LD_INT 22
10155: PUSH
10156: LD_INT 4
10158: PUSH
10159: EMPTY
10160: LIST
10161: LIST
10162: PUSH
10163: EMPTY
10164: LIST
10165: PPUSH
10166: CALL_OW 70
10170: ST_TO_ADDR
// spawnarea = RightHelp ;
10171: LD_ADDR_EXP 21
10175: PUSH
10176: LD_INT 4
10178: ST_TO_ADDR
// LowAttack ;
10179: CALL 11119 0 0
// BigAttack = BigAttack + 1 ;
10183: LD_ADDR_EXP 22
10187: PUSH
10188: LD_EXP 22
10192: PUSH
10193: LD_INT 1
10195: PLUS
10196: ST_TO_ADDR
// end ; 2 :
10197: GO 10354
10199: LD_INT 2
10201: DOUBLE
10202: EQUAL
10203: IFTRUE 10207
10205: GO 10276
10207: POP
// begin z1 = z1 + 1 ;
10208: LD_ADDR_EXP 19
10212: PUSH
10213: LD_EXP 19
10217: PUSH
10218: LD_INT 1
10220: PLUS
10221: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10222: LD_ADDR_EXP 20
10226: PUSH
10227: LD_INT 14
10229: PPUSH
10230: LD_INT 22
10232: PUSH
10233: LD_INT 4
10235: PUSH
10236: EMPTY
10237: LIST
10238: LIST
10239: PUSH
10240: EMPTY
10241: LIST
10242: PPUSH
10243: CALL_OW 70
10247: ST_TO_ADDR
// spawnarea = ZUP ;
10248: LD_ADDR_EXP 21
10252: PUSH
10253: LD_INT 18
10255: ST_TO_ADDR
// LowAttack ;
10256: CALL 11119 0 0
// BigAttack = BigAttack + 1 ;
10260: LD_ADDR_EXP 22
10264: PUSH
10265: LD_EXP 22
10269: PUSH
10270: LD_INT 1
10272: PLUS
10273: ST_TO_ADDR
// end ; 3 :
10274: GO 10354
10276: LD_INT 3
10278: DOUBLE
10279: EQUAL
10280: IFTRUE 10284
10282: GO 10353
10284: POP
// begin z1 = z1 + 1 ;
10285: LD_ADDR_EXP 19
10289: PUSH
10290: LD_EXP 19
10294: PUSH
10295: LD_INT 1
10297: PLUS
10298: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10299: LD_ADDR_EXP 20
10303: PUSH
10304: LD_INT 14
10306: PPUSH
10307: LD_INT 22
10309: PUSH
10310: LD_INT 4
10312: PUSH
10313: EMPTY
10314: LIST
10315: LIST
10316: PUSH
10317: EMPTY
10318: LIST
10319: PPUSH
10320: CALL_OW 70
10324: ST_TO_ADDR
// spawnarea = ZRight ;
10325: LD_ADDR_EXP 21
10329: PUSH
10330: LD_INT 17
10332: ST_TO_ADDR
// BigAttack = BigAttack + 1 ;
10333: LD_ADDR_EXP 22
10337: PUSH
10338: LD_EXP 22
10342: PUSH
10343: LD_INT 1
10345: PLUS
10346: ST_TO_ADDR
// LowAttack ;
10347: CALL 11119 0 0
// end ; end ;
10351: GO 10354
10353: POP
// end ; end ;
10354: GO 10357
10356: POP
// end ;
10357: END
// every 0 0$01 trigger BigAttack = 3 do
10358: LD_EXP 22
10362: PUSH
10363: LD_INT 3
10365: EQUAL
10366: IFFALSE 10938
10368: GO 10370
10370: DISABLE
// begin Randomize ;
10371: CALL_OW 10
// disable ( 1000 ) ;
10375: LD_INT 1000
10377: DISABLE_MARKED
// BigAttack = 0 ;
10378: LD_ADDR_EXP 22
10382: PUSH
10383: LD_INT 0
10385: ST_TO_ADDR
// wait ( 3 3$00 ) ;
10386: LD_INT 6300
10388: PPUSH
10389: CALL_OW 67
// if x1 = 0 then
10393: LD_EXP 17
10397: PUSH
10398: LD_INT 0
10400: EQUAL
10401: IFFALSE 10564
// begin case Rand ( 1 , 3 ) of 1 :
10403: LD_INT 1
10405: PPUSH
10406: LD_INT 3
10408: PPUSH
10409: CALL_OW 12
10413: PUSH
10414: LD_INT 1
10416: DOUBLE
10417: EQUAL
10418: IFTRUE 10422
10420: GO 10463
10422: POP
// begin obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
10423: LD_ADDR_EXP 20
10427: PUSH
10428: LD_INT 12
10430: PPUSH
10431: LD_INT 22
10433: PUSH
10434: LD_INT 4
10436: PUSH
10437: EMPTY
10438: LIST
10439: LIST
10440: PUSH
10441: EMPTY
10442: LIST
10443: PPUSH
10444: CALL_OW 70
10448: ST_TO_ADDR
// spawnarea = AttackXLeft ;
10449: LD_ADDR_EXP 21
10453: PUSH
10454: LD_INT 15
10456: ST_TO_ADDR
// BigAttackGO ;
10457: CALL 11767 0 0
// end ; 2 :
10461: GO 10562
10463: LD_INT 2
10465: DOUBLE
10466: EQUAL
10467: IFTRUE 10471
10469: GO 10512
10471: POP
// begin obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
10472: LD_ADDR_EXP 20
10476: PUSH
10477: LD_INT 12
10479: PPUSH
10480: LD_INT 22
10482: PUSH
10483: LD_INT 4
10485: PUSH
10486: EMPTY
10487: LIST
10488: LIST
10489: PUSH
10490: EMPTY
10491: LIST
10492: PPUSH
10493: CALL_OW 70
10497: ST_TO_ADDR
// spawnarea = SpawnDefend ;
10498: LD_ADDR_EXP 21
10502: PUSH
10503: LD_INT 10
10505: ST_TO_ADDR
// BigAttackGO ;
10506: CALL 11767 0 0
// end ; 3 :
10510: GO 10562
10512: LD_INT 3
10514: DOUBLE
10515: EQUAL
10516: IFTRUE 10520
10518: GO 10561
10520: POP
// begin obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
10521: LD_ADDR_EXP 20
10525: PUSH
10526: LD_INT 12
10528: PPUSH
10529: LD_INT 22
10531: PUSH
10532: LD_INT 4
10534: PUSH
10535: EMPTY
10536: LIST
10537: LIST
10538: PUSH
10539: EMPTY
10540: LIST
10541: PPUSH
10542: CALL_OW 70
10546: ST_TO_ADDR
// spawnarea = LeftHelp ;
10547: LD_ADDR_EXP 21
10551: PUSH
10552: LD_INT 3
10554: ST_TO_ADDR
// BigAttackGO ;
10555: CALL 11767 0 0
// end ; end ;
10559: GO 10562
10561: POP
// end else
10562: GO 10904
// if y1 = 0 then
10564: LD_EXP 18
10568: PUSH
10569: LD_INT 0
10571: EQUAL
10572: IFFALSE 10735
// begin case Rand ( 1 , 3 ) of 1 :
10574: LD_INT 1
10576: PPUSH
10577: LD_INT 3
10579: PPUSH
10580: CALL_OW 12
10584: PUSH
10585: LD_INT 1
10587: DOUBLE
10588: EQUAL
10589: IFTRUE 10593
10591: GO 10634
10593: POP
// begin obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10594: LD_ADDR_EXP 20
10598: PUSH
10599: LD_INT 13
10601: PPUSH
10602: LD_INT 22
10604: PUSH
10605: LD_INT 4
10607: PUSH
10608: EMPTY
10609: LIST
10610: LIST
10611: PUSH
10612: EMPTY
10613: LIST
10614: PPUSH
10615: CALL_OW 70
10619: ST_TO_ADDR
// spawnarea = LeftHelp ;
10620: LD_ADDR_EXP 21
10624: PUSH
10625: LD_INT 3
10627: ST_TO_ADDR
// BigAttackGO ;
10628: CALL 11767 0 0
// end ; 2 :
10632: GO 10733
10634: LD_INT 2
10636: DOUBLE
10637: EQUAL
10638: IFTRUE 10642
10640: GO 10683
10642: POP
// begin obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10643: LD_ADDR_EXP 20
10647: PUSH
10648: LD_INT 13
10650: PPUSH
10651: LD_INT 22
10653: PUSH
10654: LD_INT 4
10656: PUSH
10657: EMPTY
10658: LIST
10659: LIST
10660: PUSH
10661: EMPTY
10662: LIST
10663: PPUSH
10664: CALL_OW 70
10668: ST_TO_ADDR
// spawnarea = RightHelp ;
10669: LD_ADDR_EXP 21
10673: PUSH
10674: LD_INT 4
10676: ST_TO_ADDR
// BigAttackGO ;
10677: CALL 11767 0 0
// end ; 3 :
10681: GO 10733
10683: LD_INT 3
10685: DOUBLE
10686: EQUAL
10687: IFTRUE 10691
10689: GO 10732
10691: POP
// begin obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10692: LD_ADDR_EXP 20
10696: PUSH
10697: LD_INT 13
10699: PPUSH
10700: LD_INT 22
10702: PUSH
10703: LD_INT 4
10705: PUSH
10706: EMPTY
10707: LIST
10708: LIST
10709: PUSH
10710: EMPTY
10711: LIST
10712: PPUSH
10713: CALL_OW 70
10717: ST_TO_ADDR
// spawnarea = AttackYRight ;
10718: LD_ADDR_EXP 21
10722: PUSH
10723: LD_INT 16
10725: ST_TO_ADDR
// BigAttackGO ;
10726: CALL 11767 0 0
// end ; end ;
10730: GO 10733
10732: POP
// end else
10733: GO 10904
// if z1 = 0 then
10735: LD_EXP 19
10739: PUSH
10740: LD_INT 0
10742: EQUAL
10743: IFFALSE 10904
// begin case Rand ( 1 , 3 ) of 1 :
10745: LD_INT 1
10747: PPUSH
10748: LD_INT 3
10750: PPUSH
10751: CALL_OW 12
10755: PUSH
10756: LD_INT 1
10758: DOUBLE
10759: EQUAL
10760: IFTRUE 10764
10762: GO 10805
10764: POP
// begin obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10765: LD_ADDR_EXP 20
10769: PUSH
10770: LD_INT 14
10772: PPUSH
10773: LD_INT 22
10775: PUSH
10776: LD_INT 4
10778: PUSH
10779: EMPTY
10780: LIST
10781: LIST
10782: PUSH
10783: EMPTY
10784: LIST
10785: PPUSH
10786: CALL_OW 70
10790: ST_TO_ADDR
// spawnarea = RightHelp ;
10791: LD_ADDR_EXP 21
10795: PUSH
10796: LD_INT 4
10798: ST_TO_ADDR
// BigAttackGO ;
10799: CALL 11767 0 0
// end ; 2 :
10803: GO 10904
10805: LD_INT 2
10807: DOUBLE
10808: EQUAL
10809: IFTRUE 10813
10811: GO 10854
10813: POP
// begin obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10814: LD_ADDR_EXP 20
10818: PUSH
10819: LD_INT 14
10821: PPUSH
10822: LD_INT 22
10824: PUSH
10825: LD_INT 4
10827: PUSH
10828: EMPTY
10829: LIST
10830: LIST
10831: PUSH
10832: EMPTY
10833: LIST
10834: PPUSH
10835: CALL_OW 70
10839: ST_TO_ADDR
// spawnarea = ZUP ;
10840: LD_ADDR_EXP 21
10844: PUSH
10845: LD_INT 18
10847: ST_TO_ADDR
// BigAttackGO ;
10848: CALL 11767 0 0
// end ; 3 :
10852: GO 10904
10854: LD_INT 3
10856: DOUBLE
10857: EQUAL
10858: IFTRUE 10862
10860: GO 10903
10862: POP
// begin obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10863: LD_ADDR_EXP 20
10867: PUSH
10868: LD_INT 14
10870: PPUSH
10871: LD_INT 22
10873: PUSH
10874: LD_INT 4
10876: PUSH
10877: EMPTY
10878: LIST
10879: LIST
10880: PUSH
10881: EMPTY
10882: LIST
10883: PPUSH
10884: CALL_OW 70
10888: ST_TO_ADDR
// spawnarea = ZRight ;
10889: LD_ADDR_EXP 21
10893: PUSH
10894: LD_INT 17
10896: ST_TO_ADDR
// BigAttackGO ;
10897: CALL 11767 0 0
// end ; end ;
10901: GO 10904
10903: POP
// end ; wait ( 3 3$30 ) ;
10904: LD_INT 7350
10906: PPUSH
10907: CALL_OW 67
// x1 = 0 ;
10911: LD_ADDR_EXP 17
10915: PUSH
10916: LD_INT 0
10918: ST_TO_ADDR
// z1 = 0 ;
10919: LD_ADDR_EXP 19
10923: PUSH
10924: LD_INT 0
10926: ST_TO_ADDR
// y1 = 0 ;
10927: LD_ADDR_EXP 18
10931: PUSH
10932: LD_INT 0
10934: ST_TO_ADDR
// enable ( 1000 ) ;
10935: LD_INT 1000
10937: ENABLE_MARKED
// end ;
10938: END
// every 0 0$02 do var i , atak ;
10939: GO 10941
10941: DISABLE
10942: LD_INT 0
10944: PPUSH
10945: PPUSH
// begin enable ;
10946: ENABLE
// atak = FilterAllUnits ( [ [ f_side , 5 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ^ FilterAllUnits ( [ [ f_side , 5 ] , [ f_type , unit_vehicle ] , [ f_control , Control_computer ] ] ) ^ FilterAllUnits ( [ [ f_side , 5 ] , [ f_type , unit_human ] ] ) ;
10947: LD_ADDR_VAR 0 2
10951: PUSH
10952: LD_INT 22
10954: PUSH
10955: LD_INT 5
10957: PUSH
10958: EMPTY
10959: LIST
10960: LIST
10961: PUSH
10962: LD_INT 21
10964: PUSH
10965: LD_INT 2
10967: PUSH
10968: EMPTY
10969: LIST
10970: LIST
10971: PUSH
10972: LD_INT 33
10974: PUSH
10975: LD_INT 1
10977: PUSH
10978: EMPTY
10979: LIST
10980: LIST
10981: PUSH
10982: EMPTY
10983: LIST
10984: LIST
10985: LIST
10986: PPUSH
10987: CALL_OW 69
10991: PUSH
10992: LD_INT 22
10994: PUSH
10995: LD_INT 5
10997: PUSH
10998: EMPTY
10999: LIST
11000: LIST
11001: PUSH
11002: LD_INT 21
11004: PUSH
11005: LD_INT 2
11007: PUSH
11008: EMPTY
11009: LIST
11010: LIST
11011: PUSH
11012: LD_INT 33
11014: PUSH
11015: LD_INT 3
11017: PUSH
11018: EMPTY
11019: LIST
11020: LIST
11021: PUSH
11022: EMPTY
11023: LIST
11024: LIST
11025: LIST
11026: PPUSH
11027: CALL_OW 69
11031: ADD
11032: PUSH
11033: LD_INT 22
11035: PUSH
11036: LD_INT 5
11038: PUSH
11039: EMPTY
11040: LIST
11041: LIST
11042: PUSH
11043: LD_INT 21
11045: PUSH
11046: LD_INT 1
11048: PUSH
11049: EMPTY
11050: LIST
11051: LIST
11052: PUSH
11053: EMPTY
11054: LIST
11055: LIST
11056: PPUSH
11057: CALL_OW 69
11061: ADD
11062: ST_TO_ADDR
// for i in atak do
11063: LD_ADDR_VAR 0 1
11067: PUSH
11068: LD_VAR 0 2
11072: PUSH
11073: FOR_IN
11074: IFFALSE 11114
// begin ComAttackUnit ( i , NearestUnitToUnit ( obrona , i ) ) ;
11076: LD_VAR 0 1
11080: PPUSH
11081: LD_EXP 20
11085: PPUSH
11086: LD_VAR 0 1
11090: PPUSH
11091: CALL_OW 74
11095: PPUSH
11096: CALL_OW 115
// setFuel ( i , 100 ) ;
11100: LD_VAR 0 1
11104: PPUSH
11105: LD_INT 100
11107: PPUSH
11108: CALL_OW 240
// end ;
11112: GO 11073
11114: POP
11115: POP
// end ; end_of_file
11116: PPOPN 2
11118: END
// export function LowAttack ; var MechList , Level , LevelS , un , ve , Chasis , weap , l , h ; begin
11119: LD_INT 0
11121: PPUSH
11122: PPUSH
11123: PPUSH
11124: PPUSH
11125: PPUSH
11126: PPUSH
11127: PPUSH
11128: PPUSH
11129: PPUSH
11130: PPUSH
// Level = [ 5 , 6 , 6 ] [ Difficulty ] ;
11131: LD_ADDR_VAR 0 3
11135: PUSH
11136: LD_INT 5
11138: PUSH
11139: LD_INT 6
11141: PUSH
11142: LD_INT 6
11144: PUSH
11145: EMPTY
11146: LIST
11147: LIST
11148: LIST
11149: PUSH
11150: LD_OWVAR 67
11154: ARRAY
11155: ST_TO_ADDR
// LevelS = [ 5 , 6 , 7 ] [ Difficulty ] ;
11156: LD_ADDR_VAR 0 4
11160: PUSH
11161: LD_INT 5
11163: PUSH
11164: LD_INT 6
11166: PUSH
11167: LD_INT 7
11169: PUSH
11170: EMPTY
11171: LIST
11172: LIST
11173: LIST
11174: PUSH
11175: LD_OWVAR 67
11179: ARRAY
11180: ST_TO_ADDR
// Chasis = [ ru_medium_wheeled , ru_medium_tracked , ru_heavy_wheeled ] [ Difficulty ] ;
11181: LD_ADDR_VAR 0 7
11185: PUSH
11186: LD_INT 21
11188: PUSH
11189: LD_INT 22
11191: PUSH
11192: LD_INT 23
11194: PUSH
11195: EMPTY
11196: LIST
11197: LIST
11198: LIST
11199: PUSH
11200: LD_OWVAR 67
11204: ARRAY
11205: ST_TO_ADDR
// l = 0 ;
11206: LD_ADDR_VAR 0 9
11210: PUSH
11211: LD_INT 0
11213: ST_TO_ADDR
// h = [ 4 , 5 , 5 ] [ Difficulty ] ;
11214: LD_ADDR_VAR 0 10
11218: PUSH
11219: LD_INT 4
11221: PUSH
11222: LD_INT 5
11224: PUSH
11225: LD_INT 5
11227: PUSH
11228: EMPTY
11229: LIST
11230: LIST
11231: LIST
11232: PUSH
11233: LD_OWVAR 67
11237: ARRAY
11238: ST_TO_ADDR
// hc_importance = 0 ;
11239: LD_ADDR_OWVAR 32
11243: PUSH
11244: LD_INT 0
11246: ST_TO_ADDR
// vc_chassis = Chasis ;
11247: LD_ADDR_OWVAR 37
11251: PUSH
11252: LD_VAR 0 7
11256: ST_TO_ADDR
// vc_engine = engine_combustion ;
11257: LD_ADDR_OWVAR 39
11261: PUSH
11262: LD_INT 1
11264: ST_TO_ADDR
// vc_control = control_manual ;
11265: LD_ADDR_OWVAR 38
11269: PUSH
11270: LD_INT 1
11272: ST_TO_ADDR
// vc_weapon = ru_gun ;
11273: LD_ADDR_OWVAR 40
11277: PUSH
11278: LD_INT 44
11280: ST_TO_ADDR
// hc_class = 3 ;
11281: LD_ADDR_OWVAR 28
11285: PUSH
11286: LD_INT 3
11288: ST_TO_ADDR
// hc_name =  ;
11289: LD_ADDR_OWVAR 26
11293: PUSH
11294: LD_STRING 
11296: ST_TO_ADDR
// uc_side = 5 ;
11297: LD_ADDR_OWVAR 20
11301: PUSH
11302: LD_INT 5
11304: ST_TO_ADDR
// uc_nation = 3 ;
11305: LD_ADDR_OWVAR 21
11309: PUSH
11310: LD_INT 3
11312: ST_TO_ADDR
// hc_gallery =  ;
11313: LD_ADDR_OWVAR 33
11317: PUSH
11318: LD_STRING 
11320: ST_TO_ADDR
// hc_sex = sex_male ;
11321: LD_ADDR_OWVAR 27
11325: PUSH
11326: LD_INT 1
11328: ST_TO_ADDR
// ve = CreateVehicle ;
11329: LD_ADDR_VAR 0 6
11333: PUSH
11334: CALL_OW 45
11338: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
11339: LD_ADDR_OWVAR 31
11343: PUSH
11344: LD_INT 0
11346: PPUSH
11347: LD_INT 4
11349: PPUSH
11350: CALL_OW 12
11354: PUSH
11355: LD_INT 2
11357: PPUSH
11358: LD_INT 4
11360: PPUSH
11361: CALL_OW 12
11365: PUSH
11366: LD_VAR 0 3
11370: PUSH
11371: LD_INT 0
11373: PPUSH
11374: LD_INT 2
11376: PPUSH
11377: CALL_OW 12
11381: PUSH
11382: EMPTY
11383: LIST
11384: LIST
11385: LIST
11386: LIST
11387: ST_TO_ADDR
// un = CreateHuman ;
11388: LD_ADDR_VAR 0 5
11392: PUSH
11393: CALL_OW 44
11397: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
11398: LD_VAR 0 5
11402: PPUSH
11403: LD_VAR 0 6
11407: PPUSH
11408: CALL_OW 52
// PlaceUnitArea ( ve , spawnarea , false ) ;
11412: LD_VAR 0 6
11416: PPUSH
11417: LD_EXP 21
11421: PPUSH
11422: LD_INT 0
11424: PPUSH
11425: CALL_OW 49
// vc_chassis = Chasis ;
11429: LD_ADDR_OWVAR 37
11433: PUSH
11434: LD_VAR 0 7
11438: ST_TO_ADDR
// vc_engine = engine_combustion ;
11439: LD_ADDR_OWVAR 39
11443: PUSH
11444: LD_INT 1
11446: ST_TO_ADDR
// vc_control = control_computer ;
11447: LD_ADDR_OWVAR 38
11451: PUSH
11452: LD_INT 3
11454: ST_TO_ADDR
// vc_weapon = ru_rocket_launcher ;
11455: LD_ADDR_OWVAR 40
11459: PUSH
11460: LD_INT 45
11462: ST_TO_ADDR
// ve = CreateVehicle ;
11463: LD_ADDR_VAR 0 6
11467: PUSH
11468: CALL_OW 45
11472: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
11473: LD_VAR 0 6
11477: PPUSH
11478: LD_EXP 21
11482: PPUSH
11483: LD_INT 0
11485: PPUSH
11486: CALL_OW 49
// vc_chassis = Chasis ;
11490: LD_ADDR_OWVAR 37
11494: PUSH
11495: LD_VAR 0 7
11499: ST_TO_ADDR
// vc_engine = engine_combustion ;
11500: LD_ADDR_OWVAR 39
11504: PUSH
11505: LD_INT 1
11507: ST_TO_ADDR
// vc_control = control_computer ;
11508: LD_ADDR_OWVAR 38
11512: PUSH
11513: LD_INT 3
11515: ST_TO_ADDR
// ; vc_weapon = ru_gatling_gun ;
11516: LD_ADDR_OWVAR 40
11520: PUSH
11521: LD_INT 43
11523: ST_TO_ADDR
// ve = CreateVehicle ;
11524: LD_ADDR_VAR 0 6
11528: PUSH
11529: CALL_OW 45
11533: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
11534: LD_VAR 0 6
11538: PPUSH
11539: LD_EXP 21
11543: PPUSH
11544: LD_INT 0
11546: PPUSH
11547: CALL_OW 49
// vc_chassis = Chasis ;
11551: LD_ADDR_OWVAR 37
11555: PUSH
11556: LD_VAR 0 7
11560: ST_TO_ADDR
// vc_engine = engine_combustion ;
11561: LD_ADDR_OWVAR 39
11565: PUSH
11566: LD_INT 1
11568: ST_TO_ADDR
// vc_control = control_computer ;
11569: LD_ADDR_OWVAR 38
11573: PUSH
11574: LD_INT 3
11576: ST_TO_ADDR
// vc_weapon = ru_gun ;
11577: LD_ADDR_OWVAR 40
11581: PUSH
11582: LD_INT 44
11584: ST_TO_ADDR
// ve = CreateVehicle ;
11585: LD_ADDR_VAR 0 6
11589: PUSH
11590: CALL_OW 45
11594: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
11595: LD_VAR 0 6
11599: PPUSH
11600: LD_EXP 21
11604: PPUSH
11605: LD_INT 0
11607: PPUSH
11608: CALL_OW 49
// repeat hc_class = 1 ;
11612: LD_ADDR_OWVAR 28
11616: PUSH
11617: LD_INT 1
11619: ST_TO_ADDR
// hc_name =  ;
11620: LD_ADDR_OWVAR 26
11624: PUSH
11625: LD_STRING 
11627: ST_TO_ADDR
// uc_side = 5 ;
11628: LD_ADDR_OWVAR 20
11632: PUSH
11633: LD_INT 5
11635: ST_TO_ADDR
// uc_nation = 3 ;
11636: LD_ADDR_OWVAR 21
11640: PUSH
11641: LD_INT 3
11643: ST_TO_ADDR
// hc_gallery =  ;
11644: LD_ADDR_OWVAR 33
11648: PUSH
11649: LD_STRING 
11651: ST_TO_ADDR
// hc_sex = sex_male ;
11652: LD_ADDR_OWVAR 27
11656: PUSH
11657: LD_INT 1
11659: ST_TO_ADDR
// hc_skills = [ LevelS , Rand ( 2 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 2 ) ] ;
11660: LD_ADDR_OWVAR 31
11664: PUSH
11665: LD_VAR 0 4
11669: PUSH
11670: LD_INT 2
11672: PPUSH
11673: LD_INT 4
11675: PPUSH
11676: CALL_OW 12
11680: PUSH
11681: LD_INT 0
11683: PPUSH
11684: LD_INT 4
11686: PPUSH
11687: CALL_OW 12
11691: PUSH
11692: LD_INT 0
11694: PPUSH
11695: LD_INT 2
11697: PPUSH
11698: CALL_OW 12
11702: PUSH
11703: EMPTY
11704: LIST
11705: LIST
11706: LIST
11707: LIST
11708: ST_TO_ADDR
// un = CreateHuman ;
11709: LD_ADDR_VAR 0 5
11713: PUSH
11714: CALL_OW 44
11718: ST_TO_ADDR
// PlaceUnitArea ( un , spawnarea , false ) ;
11719: LD_VAR 0 5
11723: PPUSH
11724: LD_EXP 21
11728: PPUSH
11729: LD_INT 0
11731: PPUSH
11732: CALL_OW 49
// l = l + 1 ;
11736: LD_ADDR_VAR 0 9
11740: PUSH
11741: LD_VAR 0 9
11745: PUSH
11746: LD_INT 1
11748: PLUS
11749: ST_TO_ADDR
// until l = h ;
11750: LD_VAR 0 9
11754: PUSH
11755: LD_VAR 0 10
11759: EQUAL
11760: IFFALSE 11612
// end ;
11762: LD_VAR 0 1
11766: RET
// export function BigAttackGO ; var MechList , Level , LevelS , un , ve , Chasis , weap , l , h ; begin
11767: LD_INT 0
11769: PPUSH
11770: PPUSH
11771: PPUSH
11772: PPUSH
11773: PPUSH
11774: PPUSH
11775: PPUSH
11776: PPUSH
11777: PPUSH
11778: PPUSH
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
11779: LD_ADDR_VAR 0 3
11783: PUSH
11784: LD_INT 5
11786: PUSH
11787: LD_INT 6
11789: PUSH
11790: LD_INT 7
11792: PUSH
11793: EMPTY
11794: LIST
11795: LIST
11796: LIST
11797: PUSH
11798: LD_OWVAR 67
11802: ARRAY
11803: ST_TO_ADDR
// LevelS = [ 5 , 6 , 7 ] [ Difficulty ] ;
11804: LD_ADDR_VAR 0 4
11808: PUSH
11809: LD_INT 5
11811: PUSH
11812: LD_INT 6
11814: PUSH
11815: LD_INT 7
11817: PUSH
11818: EMPTY
11819: LIST
11820: LIST
11821: LIST
11822: PUSH
11823: LD_OWVAR 67
11827: ARRAY
11828: ST_TO_ADDR
// Chasis = [ ru_medium_wheeled , ru_heavy_wheeled , ru_heavy_tracked ] [ Difficulty ] ;
11829: LD_ADDR_VAR 0 7
11833: PUSH
11834: LD_INT 21
11836: PUSH
11837: LD_INT 23
11839: PUSH
11840: LD_INT 24
11842: PUSH
11843: EMPTY
11844: LIST
11845: LIST
11846: LIST
11847: PUSH
11848: LD_OWVAR 67
11852: ARRAY
11853: ST_TO_ADDR
// weap = [ ru_gun , ru_gun , ru_heavy_gun ] [ Difficulty ] ;
11854: LD_ADDR_VAR 0 8
11858: PUSH
11859: LD_INT 44
11861: PUSH
11862: LD_INT 44
11864: PUSH
11865: LD_INT 46
11867: PUSH
11868: EMPTY
11869: LIST
11870: LIST
11871: LIST
11872: PUSH
11873: LD_OWVAR 67
11877: ARRAY
11878: ST_TO_ADDR
// l = 0 ;
11879: LD_ADDR_VAR 0 9
11883: PUSH
11884: LD_INT 0
11886: ST_TO_ADDR
// h = [ 4 , 5 , 5 ] [ Difficulty ] ;
11887: LD_ADDR_VAR 0 10
11891: PUSH
11892: LD_INT 4
11894: PUSH
11895: LD_INT 5
11897: PUSH
11898: LD_INT 5
11900: PUSH
11901: EMPTY
11902: LIST
11903: LIST
11904: LIST
11905: PUSH
11906: LD_OWVAR 67
11910: ARRAY
11911: ST_TO_ADDR
// hc_importance = 0 ;
11912: LD_ADDR_OWVAR 32
11916: PUSH
11917: LD_INT 0
11919: ST_TO_ADDR
// vc_chassis = ru_heavy_wheeled ;
11920: LD_ADDR_OWVAR 37
11924: PUSH
11925: LD_INT 23
11927: ST_TO_ADDR
// vc_engine = engine_combustion ;
11928: LD_ADDR_OWVAR 39
11932: PUSH
11933: LD_INT 1
11935: ST_TO_ADDR
// vc_control = control_manual ;
11936: LD_ADDR_OWVAR 38
11940: PUSH
11941: LD_INT 1
11943: ST_TO_ADDR
// vc_weapon = ru_heavy_gun ;
11944: LD_ADDR_OWVAR 40
11948: PUSH
11949: LD_INT 46
11951: ST_TO_ADDR
// hc_class = 3 ;
11952: LD_ADDR_OWVAR 28
11956: PUSH
11957: LD_INT 3
11959: ST_TO_ADDR
// hc_name =  ;
11960: LD_ADDR_OWVAR 26
11964: PUSH
11965: LD_STRING 
11967: ST_TO_ADDR
// uc_side = 5 ;
11968: LD_ADDR_OWVAR 20
11972: PUSH
11973: LD_INT 5
11975: ST_TO_ADDR
// uc_nation = 3 ;
11976: LD_ADDR_OWVAR 21
11980: PUSH
11981: LD_INT 3
11983: ST_TO_ADDR
// hc_gallery =  ;
11984: LD_ADDR_OWVAR 33
11988: PUSH
11989: LD_STRING 
11991: ST_TO_ADDR
// hc_sex = sex_male ;
11992: LD_ADDR_OWVAR 27
11996: PUSH
11997: LD_INT 1
11999: ST_TO_ADDR
// ve = CreateVehicle ;
12000: LD_ADDR_VAR 0 6
12004: PUSH
12005: CALL_OW 45
12009: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
12010: LD_ADDR_OWVAR 31
12014: PUSH
12015: LD_INT 0
12017: PPUSH
12018: LD_INT 4
12020: PPUSH
12021: CALL_OW 12
12025: PUSH
12026: LD_INT 2
12028: PPUSH
12029: LD_INT 4
12031: PPUSH
12032: CALL_OW 12
12036: PUSH
12037: LD_VAR 0 3
12041: PUSH
12042: LD_INT 0
12044: PPUSH
12045: LD_INT 2
12047: PPUSH
12048: CALL_OW 12
12052: PUSH
12053: EMPTY
12054: LIST
12055: LIST
12056: LIST
12057: LIST
12058: ST_TO_ADDR
// un = CreateHuman ;
12059: LD_ADDR_VAR 0 5
12063: PUSH
12064: CALL_OW 44
12068: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
12069: LD_VAR 0 5
12073: PPUSH
12074: LD_VAR 0 6
12078: PPUSH
12079: CALL_OW 52
// PlaceUnitArea ( ve , spawnarea , false ) ;
12083: LD_VAR 0 6
12087: PPUSH
12088: LD_EXP 21
12092: PPUSH
12093: LD_INT 0
12095: PPUSH
12096: CALL_OW 49
// vc_chassis = Chasis ;
12100: LD_ADDR_OWVAR 37
12104: PUSH
12105: LD_VAR 0 7
12109: ST_TO_ADDR
// vc_engine = engine_combustion ;
12110: LD_ADDR_OWVAR 39
12114: PUSH
12115: LD_INT 1
12117: ST_TO_ADDR
// vc_control = control_computer ;
12118: LD_ADDR_OWVAR 38
12122: PUSH
12123: LD_INT 3
12125: ST_TO_ADDR
// vc_weapon = ru_rocket_launcher ;
12126: LD_ADDR_OWVAR 40
12130: PUSH
12131: LD_INT 45
12133: ST_TO_ADDR
// ve = CreateVehicle ;
12134: LD_ADDR_VAR 0 6
12138: PUSH
12139: CALL_OW 45
12143: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12144: LD_VAR 0 6
12148: PPUSH
12149: LD_EXP 21
12153: PPUSH
12154: LD_INT 0
12156: PPUSH
12157: CALL_OW 49
// vc_chassis = Chasis ;
12161: LD_ADDR_OWVAR 37
12165: PUSH
12166: LD_VAR 0 7
12170: ST_TO_ADDR
// vc_engine = engine_combustion ;
12171: LD_ADDR_OWVAR 39
12175: PUSH
12176: LD_INT 1
12178: ST_TO_ADDR
// vc_control = control_computer ;
12179: LD_ADDR_OWVAR 38
12183: PUSH
12184: LD_INT 3
12186: ST_TO_ADDR
// ; vc_weapon = weap ;
12187: LD_ADDR_OWVAR 40
12191: PUSH
12192: LD_VAR 0 8
12196: ST_TO_ADDR
// ve = CreateVehicle ;
12197: LD_ADDR_VAR 0 6
12201: PUSH
12202: CALL_OW 45
12206: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12207: LD_VAR 0 6
12211: PPUSH
12212: LD_EXP 21
12216: PPUSH
12217: LD_INT 0
12219: PPUSH
12220: CALL_OW 49
// vc_chassis = Chasis ;
12224: LD_ADDR_OWVAR 37
12228: PUSH
12229: LD_VAR 0 7
12233: ST_TO_ADDR
// vc_engine = engine_combustion ;
12234: LD_ADDR_OWVAR 39
12238: PUSH
12239: LD_INT 1
12241: ST_TO_ADDR
// vc_control = control_computer ;
12242: LD_ADDR_OWVAR 38
12246: PUSH
12247: LD_INT 3
12249: ST_TO_ADDR
// ; vc_weapon = weap ;
12250: LD_ADDR_OWVAR 40
12254: PUSH
12255: LD_VAR 0 8
12259: ST_TO_ADDR
// ve = CreateVehicle ;
12260: LD_ADDR_VAR 0 6
12264: PUSH
12265: CALL_OW 45
12269: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12270: LD_VAR 0 6
12274: PPUSH
12275: LD_EXP 21
12279: PPUSH
12280: LD_INT 0
12282: PPUSH
12283: CALL_OW 49
// vc_chassis = Chasis ;
12287: LD_ADDR_OWVAR 37
12291: PUSH
12292: LD_VAR 0 7
12296: ST_TO_ADDR
// vc_engine = engine_combustion ;
12297: LD_ADDR_OWVAR 39
12301: PUSH
12302: LD_INT 1
12304: ST_TO_ADDR
// vc_control = control_computer ;
12305: LD_ADDR_OWVAR 38
12309: PUSH
12310: LD_INT 3
12312: ST_TO_ADDR
// ; vc_weapon = ru_rocket_launcher ;
12313: LD_ADDR_OWVAR 40
12317: PUSH
12318: LD_INT 45
12320: ST_TO_ADDR
// ve = CreateVehicle ;
12321: LD_ADDR_VAR 0 6
12325: PUSH
12326: CALL_OW 45
12330: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12331: LD_VAR 0 6
12335: PPUSH
12336: LD_EXP 21
12340: PPUSH
12341: LD_INT 0
12343: PPUSH
12344: CALL_OW 49
// vc_chassis = Chasis ;
12348: LD_ADDR_OWVAR 37
12352: PUSH
12353: LD_VAR 0 7
12357: ST_TO_ADDR
// vc_engine = engine_combustion ;
12358: LD_ADDR_OWVAR 39
12362: PUSH
12363: LD_INT 1
12365: ST_TO_ADDR
// vc_control = control_computer ;
12366: LD_ADDR_OWVAR 38
12370: PUSH
12371: LD_INT 3
12373: ST_TO_ADDR
// vc_weapon = ru_gun ;
12374: LD_ADDR_OWVAR 40
12378: PUSH
12379: LD_INT 44
12381: ST_TO_ADDR
// ve = CreateVehicle ;
12382: LD_ADDR_VAR 0 6
12386: PUSH
12387: CALL_OW 45
12391: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12392: LD_VAR 0 6
12396: PPUSH
12397: LD_EXP 21
12401: PPUSH
12402: LD_INT 0
12404: PPUSH
12405: CALL_OW 49
// repeat hc_class = 1 ;
12409: LD_ADDR_OWVAR 28
12413: PUSH
12414: LD_INT 1
12416: ST_TO_ADDR
// hc_name =  ;
12417: LD_ADDR_OWVAR 26
12421: PUSH
12422: LD_STRING 
12424: ST_TO_ADDR
// uc_side = 5 ;
12425: LD_ADDR_OWVAR 20
12429: PUSH
12430: LD_INT 5
12432: ST_TO_ADDR
// uc_nation = 3 ;
12433: LD_ADDR_OWVAR 21
12437: PUSH
12438: LD_INT 3
12440: ST_TO_ADDR
// hc_gallery =  ;
12441: LD_ADDR_OWVAR 33
12445: PUSH
12446: LD_STRING 
12448: ST_TO_ADDR
// hc_sex = sex_male ;
12449: LD_ADDR_OWVAR 27
12453: PUSH
12454: LD_INT 1
12456: ST_TO_ADDR
// hc_skills = [ LevelS , Rand ( 2 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 2 ) ] ;
12457: LD_ADDR_OWVAR 31
12461: PUSH
12462: LD_VAR 0 4
12466: PUSH
12467: LD_INT 2
12469: PPUSH
12470: LD_INT 4
12472: PPUSH
12473: CALL_OW 12
12477: PUSH
12478: LD_INT 0
12480: PPUSH
12481: LD_INT 4
12483: PPUSH
12484: CALL_OW 12
12488: PUSH
12489: LD_INT 0
12491: PPUSH
12492: LD_INT 2
12494: PPUSH
12495: CALL_OW 12
12499: PUSH
12500: EMPTY
12501: LIST
12502: LIST
12503: LIST
12504: LIST
12505: ST_TO_ADDR
// un = CreateHuman ;
12506: LD_ADDR_VAR 0 5
12510: PUSH
12511: CALL_OW 44
12515: ST_TO_ADDR
// PlaceUnitArea ( un , spawnarea , false ) ;
12516: LD_VAR 0 5
12520: PPUSH
12521: LD_EXP 21
12525: PPUSH
12526: LD_INT 0
12528: PPUSH
12529: CALL_OW 49
// l = l + 1 ;
12533: LD_ADDR_VAR 0 9
12537: PUSH
12538: LD_VAR 0 9
12542: PUSH
12543: LD_INT 1
12545: PLUS
12546: ST_TO_ADDR
// until l = h ;
12547: LD_VAR 0 9
12551: PUSH
12552: LD_VAR 0 10
12556: EQUAL
12557: IFFALSE 12409
// end ; end_of_file
12559: LD_VAR 0 1
12563: RET
// every 0 0$01 trigger Center = 1 do var veh ;
12564: LD_EXP 5
12568: PUSH
12569: LD_INT 1
12571: EQUAL
12572: IFFALSE 12648
12574: GO 12576
12576: DISABLE
12577: LD_INT 0
12579: PPUSH
// begin enable ;
12580: ENABLE
// veh = FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_manual ] ] ) ;
12581: LD_ADDR_VAR 0 1
12585: PUSH
12586: LD_INT 22
12588: PUSH
12589: LD_INT 4
12591: PUSH
12592: EMPTY
12593: LIST
12594: LIST
12595: PUSH
12596: LD_INT 21
12598: PUSH
12599: LD_INT 2
12601: PUSH
12602: EMPTY
12603: LIST
12604: LIST
12605: PUSH
12606: LD_INT 33
12608: PUSH
12609: LD_INT 1
12611: PUSH
12612: EMPTY
12613: LIST
12614: LIST
12615: PUSH
12616: EMPTY
12617: LIST
12618: LIST
12619: LIST
12620: PPUSH
12621: CALL_OW 69
12625: ST_TO_ADDR
// CenterOnUnits ( Nefarem ) ;
12626: LD_EXP 7
12630: PPUSH
12631: CALL_OW 85
// CenterOnUnits ( veh [ 3 ] ) ;
12635: LD_VAR 0 1
12639: PUSH
12640: LD_INT 3
12642: ARRAY
12643: PPUSH
12644: CALL_OW 85
// end ; end_of_file
12648: PPOPN 1
12650: END
// every 0 0$01 trigger IsDead ( depotAM1 ) do
12651: LD_INT 452
12653: PPUSH
12654: CALL_OW 301
12658: IFFALSE 12670
12660: GO 12662
12662: DISABLE
// begin YouLost ( bazaX ) ;
12663: LD_STRING bazaX
12665: PPUSH
12666: CALL_OW 104
// end ;
12670: END
// every 0 0$01 trigger IsDead ( depotAM2 ) do
12671: LD_INT 480
12673: PPUSH
12674: CALL_OW 301
12678: IFFALSE 12690
12680: GO 12682
12682: DISABLE
// begin YouLost ( bazaY ) ;
12683: LD_STRING bazaY
12685: PPUSH
12686: CALL_OW 104
// end ;
12690: END
// every 0 0$01 trigger IsDead ( depotAM3 ) do
12691: LD_INT 10
12693: PPUSH
12694: CALL_OW 301
12698: IFFALSE 12710
12700: GO 12702
12702: DISABLE
// begin YouLost ( bazaZ ) ;
12703: LD_STRING bazaZ
12705: PPUSH
12706: CALL_OW 104
// end ;
12710: END
// every 0 0$01 trigger IsDead ( Nefarem ) do
12711: LD_EXP 7
12715: PPUSH
12716: CALL_OW 301
12720: IFFALSE 12732
12722: GO 12724
12724: DISABLE
// begin ; YouLost ( Nef ) ;
12725: LD_STRING Nef
12727: PPUSH
12728: CALL_OW 104
// end ; end_of_file
12732: END
// export GlobalMedal , globalSaveCharacters ; every 0 0$05 trigger IsSelected ( depotAM2 ) do var vehicles , Units , tab , i , UnitsCargo , vehiclesCargo ;
12733: LD_INT 480
12735: PPUSH
12736: CALL_OW 306
12740: IFFALSE 14252
12742: GO 12744
12744: DISABLE
12745: LD_INT 0
12747: PPUSH
12748: PPUSH
12749: PPUSH
12750: PPUSH
12751: PPUSH
12752: PPUSH
// begin enable ;
12753: ENABLE
// vehicles := FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_or , [ f_control , control_manual ] , [ f_control , control_computer ] ] , [ f_or , [ f_weapon , us_double_gun ] , [ f_weapon , us_gatling_gun ] , [ f_weapon , us_heavy_gun ] , [ f_weapon , us_light_gun ] , [ f_weapon , us_machine_gun ] , [ f_weapon , us_rocket_launcher ] ] ] ) ;
12754: LD_ADDR_VAR 0 1
12758: PUSH
12759: LD_INT 22
12761: PUSH
12762: LD_INT 4
12764: PUSH
12765: EMPTY
12766: LIST
12767: LIST
12768: PUSH
12769: LD_INT 21
12771: PUSH
12772: LD_INT 2
12774: PUSH
12775: EMPTY
12776: LIST
12777: LIST
12778: PUSH
12779: LD_INT 2
12781: PUSH
12782: LD_INT 33
12784: PUSH
12785: LD_INT 1
12787: PUSH
12788: EMPTY
12789: LIST
12790: LIST
12791: PUSH
12792: LD_INT 33
12794: PUSH
12795: LD_INT 3
12797: PUSH
12798: EMPTY
12799: LIST
12800: LIST
12801: PUSH
12802: EMPTY
12803: LIST
12804: LIST
12805: LIST
12806: PUSH
12807: LD_INT 2
12809: PUSH
12810: LD_INT 34
12812: PUSH
12813: LD_INT 5
12815: PUSH
12816: EMPTY
12817: LIST
12818: LIST
12819: PUSH
12820: LD_INT 34
12822: PUSH
12823: LD_INT 4
12825: PUSH
12826: EMPTY
12827: LIST
12828: LIST
12829: PUSH
12830: LD_INT 34
12832: PUSH
12833: LD_INT 6
12835: PUSH
12836: EMPTY
12837: LIST
12838: LIST
12839: PUSH
12840: LD_INT 34
12842: PUSH
12843: LD_INT 3
12845: PUSH
12846: EMPTY
12847: LIST
12848: LIST
12849: PUSH
12850: LD_INT 34
12852: PUSH
12853: LD_INT 2
12855: PUSH
12856: EMPTY
12857: LIST
12858: LIST
12859: PUSH
12860: LD_INT 34
12862: PUSH
12863: LD_INT 7
12865: PUSH
12866: EMPTY
12867: LIST
12868: LIST
12869: PUSH
12870: EMPTY
12871: LIST
12872: LIST
12873: LIST
12874: LIST
12875: LIST
12876: LIST
12877: LIST
12878: PUSH
12879: EMPTY
12880: LIST
12881: LIST
12882: LIST
12883: LIST
12884: PPUSH
12885: CALL_OW 69
12889: ST_TO_ADDR
// vehiclesCargo := FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_computer ] , [ f_weapon , us_cargo_bay ] ] ) ;
12890: LD_ADDR_VAR 0 6
12894: PUSH
12895: LD_INT 22
12897: PUSH
12898: LD_INT 4
12900: PUSH
12901: EMPTY
12902: LIST
12903: LIST
12904: PUSH
12905: LD_INT 21
12907: PUSH
12908: LD_INT 2
12910: PUSH
12911: EMPTY
12912: LIST
12913: LIST
12914: PUSH
12915: LD_INT 33
12917: PUSH
12918: LD_INT 3
12920: PUSH
12921: EMPTY
12922: LIST
12923: LIST
12924: PUSH
12925: LD_INT 34
12927: PUSH
12928: LD_INT 12
12930: PUSH
12931: EMPTY
12932: LIST
12933: LIST
12934: PUSH
12935: EMPTY
12936: LIST
12937: LIST
12938: LIST
12939: LIST
12940: PPUSH
12941: CALL_OW 69
12945: ST_TO_ADDR
// globalSaveCharacters = [ ] ;
12946: LD_ADDR_EXP 24
12950: PUSH
12951: EMPTY
12952: ST_TO_ADDR
// case query ( QueryEnd ) of 1 :
12953: LD_STRING QueryEnd
12955: PPUSH
12956: CALL_OW 97
12960: PUSH
12961: LD_INT 1
12963: DOUBLE
12964: EQUAL
12965: IFTRUE 12969
12967: GO 14240
12969: POP
// begin if GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) >= 600 and FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_computer ] , [ f_weapon , us_cargo_bay ] ] ) >= 6 and vehicles >= 5 then
12970: LD_INT 480
12972: PPUSH
12973: CALL_OW 274
12977: PPUSH
12978: LD_INT 1
12980: PPUSH
12981: CALL_OW 275
12985: PUSH
12986: LD_INT 600
12988: GREATEREQUAL
12989: PUSH
12990: LD_INT 22
12992: PUSH
12993: LD_INT 4
12995: PUSH
12996: EMPTY
12997: LIST
12998: LIST
12999: PUSH
13000: LD_INT 21
13002: PUSH
13003: LD_INT 2
13005: PUSH
13006: EMPTY
13007: LIST
13008: LIST
13009: PUSH
13010: LD_INT 33
13012: PUSH
13013: LD_INT 3
13015: PUSH
13016: EMPTY
13017: LIST
13018: LIST
13019: PUSH
13020: LD_INT 34
13022: PUSH
13023: LD_INT 12
13025: PUSH
13026: EMPTY
13027: LIST
13028: LIST
13029: PUSH
13030: EMPTY
13031: LIST
13032: LIST
13033: LIST
13034: LIST
13035: PPUSH
13036: CALL_OW 69
13040: PUSH
13041: LD_INT 6
13043: GREATEREQUAL
13044: AND
13045: PUSH
13046: LD_VAR 0 1
13050: PUSH
13051: LD_INT 5
13053: GREATEREQUAL
13054: AND
13055: IFFALSE 13594
// begin DialogueOn ;
13057: CALL_OW 6
// Say ( Nefarem , End1 ) ;
13061: LD_EXP 7
13065: PPUSH
13066: LD_STRING End1
13068: PPUSH
13069: CALL_OW 88
// Units = [ ] ;
13073: LD_ADDR_VAR 0 2
13077: PUSH
13078: EMPTY
13079: ST_TO_ADDR
// UnitsCargo = [ ] ;
13080: LD_ADDR_VAR 0 5
13084: PUSH
13085: EMPTY
13086: ST_TO_ADDR
// tab := [ ] ;
13087: LD_ADDR_VAR 0 3
13091: PUSH
13092: EMPTY
13093: ST_TO_ADDR
// for i = 1 to 5 do
13094: LD_ADDR_VAR 0 4
13098: PUSH
13099: DOUBLE
13100: LD_INT 1
13102: DEC
13103: ST_TO_ADDR
13104: LD_INT 5
13106: PUSH
13107: FOR_TO
13108: IFFALSE 13193
// begin tab := tab ^ [ GetChassis ( vehicles [ i ] ) , GetEngine ( vehicles [ i ] ) , GetControl ( vehicles [ i ] ) , GetWeapon ( vehicles [ i ] ) ] ;
13110: LD_ADDR_VAR 0 3
13114: PUSH
13115: LD_VAR 0 3
13119: PUSH
13120: LD_VAR 0 1
13124: PUSH
13125: LD_VAR 0 4
13129: ARRAY
13130: PPUSH
13131: CALL_OW 265
13135: PUSH
13136: LD_VAR 0 1
13140: PUSH
13141: LD_VAR 0 4
13145: ARRAY
13146: PPUSH
13147: CALL_OW 262
13151: PUSH
13152: LD_VAR 0 1
13156: PUSH
13157: LD_VAR 0 4
13161: ARRAY
13162: PPUSH
13163: CALL_OW 263
13167: PUSH
13168: LD_VAR 0 1
13172: PUSH
13173: LD_VAR 0 4
13177: ARRAY
13178: PPUSH
13179: CALL_OW 264
13183: PUSH
13184: EMPTY
13185: LIST
13186: LIST
13187: LIST
13188: LIST
13189: ADD
13190: ST_TO_ADDR
// end ;
13191: GO 13107
13193: POP
13194: POP
// for i = 1 to vehiclesCargo do
13195: LD_ADDR_VAR 0 4
13199: PUSH
13200: DOUBLE
13201: LD_INT 1
13203: DEC
13204: ST_TO_ADDR
13205: LD_VAR 0 6
13209: PUSH
13210: FOR_TO
13211: IFFALSE 13296
// begin UnitsCargo = UnitsCargo ^ [ GetChassis ( vehiclesCargo [ i ] ) , GetEngine ( vehiclesCargo [ i ] ) , GetControl ( vehiclesCargo [ i ] ) , GetWeapon ( vehiclesCargo [ i ] ) ] ;
13213: LD_ADDR_VAR 0 5
13217: PUSH
13218: LD_VAR 0 5
13222: PUSH
13223: LD_VAR 0 6
13227: PUSH
13228: LD_VAR 0 4
13232: ARRAY
13233: PPUSH
13234: CALL_OW 265
13238: PUSH
13239: LD_VAR 0 6
13243: PUSH
13244: LD_VAR 0 4
13248: ARRAY
13249: PPUSH
13250: CALL_OW 262
13254: PUSH
13255: LD_VAR 0 6
13259: PUSH
13260: LD_VAR 0 4
13264: ARRAY
13265: PPUSH
13266: CALL_OW 263
13270: PUSH
13271: LD_VAR 0 6
13275: PUSH
13276: LD_VAR 0 4
13280: ARRAY
13281: PPUSH
13282: CALL_OW 264
13286: PUSH
13287: EMPTY
13288: LIST
13289: LIST
13290: LIST
13291: LIST
13292: ADD
13293: ST_TO_ADDR
// end ;
13294: GO 13210
13296: POP
13297: POP
// SaveVariable ( tab , units_vehicles ) ;
13298: LD_VAR 0 3
13302: PPUSH
13303: LD_STRING units_vehicles
13305: PPUSH
13306: CALL_OW 39
// SaveVariable ( UnitsCargo , units_cargo ) ;
13310: LD_VAR 0 5
13314: PPUSH
13315: LD_STRING units_cargo
13317: PPUSH
13318: CALL_OW 39
// GlobalMedal = true ;
13322: LD_ADDR_EXP 23
13326: PUSH
13327: LD_INT 1
13329: ST_TO_ADDR
// SetClass ( FilterAllUnits ( [ [ f_side , 4 ] , [ f_class , class_engineer ] ] ) , class_soldier ) ;
13330: LD_INT 22
13332: PUSH
13333: LD_INT 4
13335: PUSH
13336: EMPTY
13337: LIST
13338: LIST
13339: PUSH
13340: LD_INT 25
13342: PUSH
13343: LD_INT 2
13345: PUSH
13346: EMPTY
13347: LIST
13348: LIST
13349: PUSH
13350: EMPTY
13351: LIST
13352: LIST
13353: PPUSH
13354: CALL_OW 69
13358: PPUSH
13359: LD_INT 1
13361: PPUSH
13362: CALL_OW 336
// AddExperience ( Nefarem , skill_combat , 5000 ) ;
13366: LD_EXP 7
13370: PPUSH
13371: LD_INT 1
13373: PPUSH
13374: LD_INT 5000
13376: PPUSH
13377: CALL_OW 492
// AddExperience ( Nefarem , skill_engineering , 5000 ) ;
13381: LD_EXP 7
13385: PPUSH
13386: LD_INT 2
13388: PPUSH
13389: LD_INT 5000
13391: PPUSH
13392: CALL_OW 492
// AddExperience ( Nefarem , skill_mechanical , 3000 ) ;
13396: LD_EXP 7
13400: PPUSH
13401: LD_INT 3
13403: PPUSH
13404: LD_INT 3000
13406: PPUSH
13407: CALL_OW 492
// AddExperience ( Nefarem , skill_scientistic , 3000 ) ;
13411: LD_EXP 7
13415: PPUSH
13416: LD_INT 4
13418: PPUSH
13419: LD_INT 3000
13421: PPUSH
13422: CALL_OW 492
// globalSaveCharacters := CharacterSelection ( ChooseCharacters , 6 , 6 , [ sel_change_class , Nefarem , sel_not_hired , sel_changeable ] ^ AmericanPerson ^ [ sel_dont_change_class , sel_not_changeable , mechAM ] ^ [ sel_dont_change_class , sel_not_changeable , engAM ] ^ [ sel_dont_change_class , sel_not_changeable , docAM ] , [ class_soldier , class_mechanic , class_scientistic ] ) ;
13426: LD_ADDR_EXP 24
13430: PUSH
13431: LD_STRING ChooseCharacters
13433: PPUSH
13434: LD_INT 6
13436: PPUSH
13437: LD_INT 6
13439: PPUSH
13440: LD_INT -5
13442: PUSH
13443: LD_EXP 7
13447: PUSH
13448: LD_INT -2
13450: PUSH
13451: LD_INT -3
13453: PUSH
13454: EMPTY
13455: LIST
13456: LIST
13457: LIST
13458: LIST
13459: PUSH
13460: LD_EXP 6
13464: ADD
13465: PUSH
13466: LD_INT -6
13468: PUSH
13469: LD_INT -4
13471: PUSH
13472: LD_EXP 12
13476: PUSH
13477: EMPTY
13478: LIST
13479: LIST
13480: LIST
13481: ADD
13482: PUSH
13483: LD_INT -6
13485: PUSH
13486: LD_INT -4
13488: PUSH
13489: LD_EXP 14
13493: PUSH
13494: EMPTY
13495: LIST
13496: LIST
13497: LIST
13498: ADD
13499: PUSH
13500: LD_INT -6
13502: PUSH
13503: LD_INT -4
13505: PUSH
13506: LD_EXP 13
13510: PUSH
13511: EMPTY
13512: LIST
13513: LIST
13514: LIST
13515: ADD
13516: PPUSH
13517: LD_INT 1
13519: PUSH
13520: LD_INT 3
13522: PUSH
13523: LD_INT 4
13525: PUSH
13526: EMPTY
13527: LIST
13528: LIST
13529: LIST
13530: PPUSH
13531: CALL_OW 42
13535: ST_TO_ADDR
// RewardPeople ( globalSaveCharacters ) ;
13536: LD_EXP 24
13540: PPUSH
13541: CALL_OW 43
// SaveCharacters ( UnitFilter ( globalSaveCharacters , [ f_side , 4 ] ) , CharacterSave ) ;
13545: LD_EXP 24
13549: PPUSH
13550: LD_INT 22
13552: PUSH
13553: LD_INT 4
13555: PUSH
13556: EMPTY
13557: LIST
13558: LIST
13559: PPUSH
13560: CALL_OW 72
13564: PPUSH
13565: LD_STRING CharacterSave
13567: PPUSH
13568: CALL_OW 38
// SaveCharacters ( Nefarem , Nefarem ) ;
13572: LD_EXP 7
13576: PPUSH
13577: LD_STRING Nefarem
13579: PPUSH
13580: CALL_OW 38
// medale ;
13584: CALL 14927 0 0
// YouWin ;
13588: CALL_OW 103
// end else
13592: GO 14238
// if GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) >= 400 and FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_computer ] , [ f_weapon , us_cargo_bay ] ] ) >= 4 and vehicles >= 5 then
13594: LD_INT 480
13596: PPUSH
13597: CALL_OW 274
13601: PPUSH
13602: LD_INT 1
13604: PPUSH
13605: CALL_OW 275
13609: PUSH
13610: LD_INT 400
13612: GREATEREQUAL
13613: PUSH
13614: LD_INT 22
13616: PUSH
13617: LD_INT 4
13619: PUSH
13620: EMPTY
13621: LIST
13622: LIST
13623: PUSH
13624: LD_INT 21
13626: PUSH
13627: LD_INT 2
13629: PUSH
13630: EMPTY
13631: LIST
13632: LIST
13633: PUSH
13634: LD_INT 33
13636: PUSH
13637: LD_INT 3
13639: PUSH
13640: EMPTY
13641: LIST
13642: LIST
13643: PUSH
13644: LD_INT 34
13646: PUSH
13647: LD_INT 12
13649: PUSH
13650: EMPTY
13651: LIST
13652: LIST
13653: PUSH
13654: EMPTY
13655: LIST
13656: LIST
13657: LIST
13658: LIST
13659: PPUSH
13660: CALL_OW 69
13664: PUSH
13665: LD_INT 4
13667: GREATEREQUAL
13668: AND
13669: PUSH
13670: LD_VAR 0 1
13674: PUSH
13675: LD_INT 5
13677: GREATEREQUAL
13678: AND
13679: IFFALSE 14218
// begin DialogueOn ;
13681: CALL_OW 6
// Say ( Nefarem , End1 ) ;
13685: LD_EXP 7
13689: PPUSH
13690: LD_STRING End1
13692: PPUSH
13693: CALL_OW 88
// Units = [ ] ;
13697: LD_ADDR_VAR 0 2
13701: PUSH
13702: EMPTY
13703: ST_TO_ADDR
// UnitsCargo = [ ] ;
13704: LD_ADDR_VAR 0 5
13708: PUSH
13709: EMPTY
13710: ST_TO_ADDR
// tab := [ ] ;
13711: LD_ADDR_VAR 0 3
13715: PUSH
13716: EMPTY
13717: ST_TO_ADDR
// for i = 1 to 5 do
13718: LD_ADDR_VAR 0 4
13722: PUSH
13723: DOUBLE
13724: LD_INT 1
13726: DEC
13727: ST_TO_ADDR
13728: LD_INT 5
13730: PUSH
13731: FOR_TO
13732: IFFALSE 13817
// begin tab := tab ^ [ GetChassis ( vehicles [ i ] ) , GetEngine ( vehicles [ i ] ) , GetControl ( vehicles [ i ] ) , GetWeapon ( vehicles [ i ] ) ] ;
13734: LD_ADDR_VAR 0 3
13738: PUSH
13739: LD_VAR 0 3
13743: PUSH
13744: LD_VAR 0 1
13748: PUSH
13749: LD_VAR 0 4
13753: ARRAY
13754: PPUSH
13755: CALL_OW 265
13759: PUSH
13760: LD_VAR 0 1
13764: PUSH
13765: LD_VAR 0 4
13769: ARRAY
13770: PPUSH
13771: CALL_OW 262
13775: PUSH
13776: LD_VAR 0 1
13780: PUSH
13781: LD_VAR 0 4
13785: ARRAY
13786: PPUSH
13787: CALL_OW 263
13791: PUSH
13792: LD_VAR 0 1
13796: PUSH
13797: LD_VAR 0 4
13801: ARRAY
13802: PPUSH
13803: CALL_OW 264
13807: PUSH
13808: EMPTY
13809: LIST
13810: LIST
13811: LIST
13812: LIST
13813: ADD
13814: ST_TO_ADDR
// end ;
13815: GO 13731
13817: POP
13818: POP
// for i = 1 to vehiclesCargo do
13819: LD_ADDR_VAR 0 4
13823: PUSH
13824: DOUBLE
13825: LD_INT 1
13827: DEC
13828: ST_TO_ADDR
13829: LD_VAR 0 6
13833: PUSH
13834: FOR_TO
13835: IFFALSE 13920
// begin UnitsCargo = UnitsCargo ^ [ GetChassis ( vehiclesCargo [ i ] ) , GetEngine ( vehiclesCargo [ i ] ) , GetControl ( vehiclesCargo [ i ] ) , GetWeapon ( vehiclesCargo [ i ] ) ] ;
13837: LD_ADDR_VAR 0 5
13841: PUSH
13842: LD_VAR 0 5
13846: PUSH
13847: LD_VAR 0 6
13851: PUSH
13852: LD_VAR 0 4
13856: ARRAY
13857: PPUSH
13858: CALL_OW 265
13862: PUSH
13863: LD_VAR 0 6
13867: PUSH
13868: LD_VAR 0 4
13872: ARRAY
13873: PPUSH
13874: CALL_OW 262
13878: PUSH
13879: LD_VAR 0 6
13883: PUSH
13884: LD_VAR 0 4
13888: ARRAY
13889: PPUSH
13890: CALL_OW 263
13894: PUSH
13895: LD_VAR 0 6
13899: PUSH
13900: LD_VAR 0 4
13904: ARRAY
13905: PPUSH
13906: CALL_OW 264
13910: PUSH
13911: EMPTY
13912: LIST
13913: LIST
13914: LIST
13915: LIST
13916: ADD
13917: ST_TO_ADDR
// end ;
13918: GO 13834
13920: POP
13921: POP
// GlobalMedal = false ;
13922: LD_ADDR_EXP 23
13926: PUSH
13927: LD_INT 0
13929: ST_TO_ADDR
// SetClass ( FilterAllUnits ( [ [ f_side , 4 ] , [ f_class , class_engineer ] ] ) , class_soldier ) ;
13930: LD_INT 22
13932: PUSH
13933: LD_INT 4
13935: PUSH
13936: EMPTY
13937: LIST
13938: LIST
13939: PUSH
13940: LD_INT 25
13942: PUSH
13943: LD_INT 2
13945: PUSH
13946: EMPTY
13947: LIST
13948: LIST
13949: PUSH
13950: EMPTY
13951: LIST
13952: LIST
13953: PPUSH
13954: CALL_OW 69
13958: PPUSH
13959: LD_INT 1
13961: PPUSH
13962: CALL_OW 336
// AddExperience ( Nefarem , skill_combat , 5000 ) ;
13966: LD_EXP 7
13970: PPUSH
13971: LD_INT 1
13973: PPUSH
13974: LD_INT 5000
13976: PPUSH
13977: CALL_OW 492
// AddExperience ( Nefarem , skill_engineering , 5000 ) ;
13981: LD_EXP 7
13985: PPUSH
13986: LD_INT 2
13988: PPUSH
13989: LD_INT 5000
13991: PPUSH
13992: CALL_OW 492
// AddExperience ( Nefarem , skill_mechanical , 3000 ) ;
13996: LD_EXP 7
14000: PPUSH
14001: LD_INT 3
14003: PPUSH
14004: LD_INT 3000
14006: PPUSH
14007: CALL_OW 492
// AddExperience ( Nefarem , skill_scientistic , 3000 ) ;
14011: LD_EXP 7
14015: PPUSH
14016: LD_INT 4
14018: PPUSH
14019: LD_INT 3000
14021: PPUSH
14022: CALL_OW 492
// globalSaveCharacters := CharacterSelection ( ChooseCharacters , 6 , 6 , [ sel_change_class , Nefarem , sel_not_hired , sel_changeable ] ^ AmericanPerson ^ [ sel_dont_change_class , sel_not_changeable , mechAM ] ^ [ sel_dont_change_class , sel_not_changeable , engAM ] ^ [ sel_dont_change_class , sel_not_changeable , docAM ] , [ class_soldier , class_mechanic , class_scientistic ] ) ;
14026: LD_ADDR_EXP 24
14030: PUSH
14031: LD_STRING ChooseCharacters
14033: PPUSH
14034: LD_INT 6
14036: PPUSH
14037: LD_INT 6
14039: PPUSH
14040: LD_INT -5
14042: PUSH
14043: LD_EXP 7
14047: PUSH
14048: LD_INT -2
14050: PUSH
14051: LD_INT -3
14053: PUSH
14054: EMPTY
14055: LIST
14056: LIST
14057: LIST
14058: LIST
14059: PUSH
14060: LD_EXP 6
14064: ADD
14065: PUSH
14066: LD_INT -6
14068: PUSH
14069: LD_INT -4
14071: PUSH
14072: LD_EXP 12
14076: PUSH
14077: EMPTY
14078: LIST
14079: LIST
14080: LIST
14081: ADD
14082: PUSH
14083: LD_INT -6
14085: PUSH
14086: LD_INT -4
14088: PUSH
14089: LD_EXP 14
14093: PUSH
14094: EMPTY
14095: LIST
14096: LIST
14097: LIST
14098: ADD
14099: PUSH
14100: LD_INT -6
14102: PUSH
14103: LD_INT -4
14105: PUSH
14106: LD_EXP 13
14110: PUSH
14111: EMPTY
14112: LIST
14113: LIST
14114: LIST
14115: ADD
14116: PPUSH
14117: LD_INT 1
14119: PUSH
14120: LD_INT 3
14122: PUSH
14123: LD_INT 4
14125: PUSH
14126: EMPTY
14127: LIST
14128: LIST
14129: LIST
14130: PPUSH
14131: CALL_OW 42
14135: ST_TO_ADDR
// RewardPeople ( globalSaveCharacters ) ;
14136: LD_EXP 24
14140: PPUSH
14141: CALL_OW 43
// SaveCharacters ( UnitFilter ( globalSaveCharacters , [ f_side , 4 ] ) , CharacterSave ) ;
14145: LD_EXP 24
14149: PPUSH
14150: LD_INT 22
14152: PUSH
14153: LD_INT 4
14155: PUSH
14156: EMPTY
14157: LIST
14158: LIST
14159: PPUSH
14160: CALL_OW 72
14164: PPUSH
14165: LD_STRING CharacterSave
14167: PPUSH
14168: CALL_OW 38
// SaveCharacters ( Nefarem , Nefarem ) ;
14172: LD_EXP 7
14176: PPUSH
14177: LD_STRING Nefarem
14179: PPUSH
14180: CALL_OW 38
// SaveVariable ( tab , units_vehicles ) ;
14184: LD_VAR 0 3
14188: PPUSH
14189: LD_STRING units_vehicles
14191: PPUSH
14192: CALL_OW 39
// SaveVariable ( UnitsCargo , units_cargo ) ;
14196: LD_VAR 0 5
14200: PPUSH
14201: LD_STRING units_cargo
14203: PPUSH
14204: CALL_OW 39
// medale ;
14208: CALL 14927 0 0
// YouWin ;
14212: CALL_OW 103
// end else
14216: GO 14238
// begin case query ( QueryFail ) of 1 :
14218: LD_STRING QueryFail
14220: PPUSH
14221: CALL_OW 97
14225: PUSH
14226: LD_INT 1
14228: DOUBLE
14229: EQUAL
14230: IFTRUE 14234
14232: GO 14237
14234: POP
// begin end ; end ;
14235: GO 14238
14237: POP
// end ; end ; 2 :
14238: GO 14252
14240: LD_INT 2
14242: DOUBLE
14243: EQUAL
14244: IFTRUE 14248
14246: GO 14251
14248: POP
// begin end ; end ;
14249: GO 14252
14251: POP
// end ; end_of_file
14252: PPOPN 6
14254: END
// every 0 0$01 do var medal , medvar ;
14255: GO 14257
14257: DISABLE
14258: LD_INT 0
14260: PPUSH
14261: PPUSH
// begin case Difficulty of 1 :
14262: LD_OWVAR 67
14266: PUSH
14267: LD_INT 1
14269: DOUBLE
14270: EQUAL
14271: IFTRUE 14275
14273: GO 14408
14275: POP
// begin SetTech ( 48 , 6 , state_Researched ) ;
14276: LD_INT 48
14278: PPUSH
14279: LD_INT 6
14281: PPUSH
14282: LD_INT 2
14284: PPUSH
14285: CALL_OW 322
// SetTech ( 51 , 6 , state_Researched ) ;
14289: LD_INT 51
14291: PPUSH
14292: LD_INT 6
14294: PPUSH
14295: LD_INT 2
14297: PPUSH
14298: CALL_OW 322
// SetTech ( 49 , 6 , state_Researched ) ;
14302: LD_INT 49
14304: PPUSH
14305: LD_INT 6
14307: PPUSH
14308: LD_INT 2
14310: PPUSH
14311: CALL_OW 322
// SetTech ( 48 , 3 , state_Researched ) ;
14315: LD_INT 48
14317: PPUSH
14318: LD_INT 3
14320: PPUSH
14321: LD_INT 2
14323: PPUSH
14324: CALL_OW 322
// SetTech ( 51 , 3 , state_Researched ) ;
14328: LD_INT 51
14330: PPUSH
14331: LD_INT 3
14333: PPUSH
14334: LD_INT 2
14336: PPUSH
14337: CALL_OW 322
// SetTech ( 49 , 3 , state_Researched ) ;
14341: LD_INT 49
14343: PPUSH
14344: LD_INT 3
14346: PPUSH
14347: LD_INT 2
14349: PPUSH
14350: CALL_OW 322
// SetTech ( 57 , 3 , state_Researched ) ;
14354: LD_INT 57
14356: PPUSH
14357: LD_INT 3
14359: PPUSH
14360: LD_INT 2
14362: PPUSH
14363: CALL_OW 322
// SetTech ( 48 , 5 , state_Researched ) ;
14367: LD_INT 48
14369: PPUSH
14370: LD_INT 5
14372: PPUSH
14373: LD_INT 2
14375: PPUSH
14376: CALL_OW 322
// SetTech ( 51 , 5 , state_Researched ) ;
14380: LD_INT 51
14382: PPUSH
14383: LD_INT 5
14385: PPUSH
14386: LD_INT 2
14388: PPUSH
14389: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14393: LD_INT 49
14395: PPUSH
14396: LD_INT 5
14398: PPUSH
14399: LD_INT 2
14401: PPUSH
14402: CALL_OW 322
// end ; 2 :
14406: GO 14847
14408: LD_INT 2
14410: DOUBLE
14411: EQUAL
14412: IFTRUE 14416
14414: GO 14614
14416: POP
// begin SetTech ( 57 , 6 , state_Researched ) ;
14417: LD_INT 57
14419: PPUSH
14420: LD_INT 6
14422: PPUSH
14423: LD_INT 2
14425: PPUSH
14426: CALL_OW 322
// SetTech ( 48 , 6 , state_Researched ) ;
14430: LD_INT 48
14432: PPUSH
14433: LD_INT 6
14435: PPUSH
14436: LD_INT 2
14438: PPUSH
14439: CALL_OW 322
// SetTech ( 49 , 6 , state_Researched ) ;
14443: LD_INT 49
14445: PPUSH
14446: LD_INT 6
14448: PPUSH
14449: LD_INT 2
14451: PPUSH
14452: CALL_OW 322
// SetTech ( 51 , 6 , state_Researched ) ;
14456: LD_INT 51
14458: PPUSH
14459: LD_INT 6
14461: PPUSH
14462: LD_INT 2
14464: PPUSH
14465: CALL_OW 322
// SetTech ( 52 , 6 , state_Researched ) ;
14469: LD_INT 52
14471: PPUSH
14472: LD_INT 6
14474: PPUSH
14475: LD_INT 2
14477: PPUSH
14478: CALL_OW 322
// SetTech ( 57 , 3 , state_Researched ) ;
14482: LD_INT 57
14484: PPUSH
14485: LD_INT 3
14487: PPUSH
14488: LD_INT 2
14490: PPUSH
14491: CALL_OW 322
// SetTech ( 48 , 3 , state_Researched ) ;
14495: LD_INT 48
14497: PPUSH
14498: LD_INT 3
14500: PPUSH
14501: LD_INT 2
14503: PPUSH
14504: CALL_OW 322
// SetTech ( 49 , 3 , state_Researched ) ;
14508: LD_INT 49
14510: PPUSH
14511: LD_INT 3
14513: PPUSH
14514: LD_INT 2
14516: PPUSH
14517: CALL_OW 322
// SetTech ( 51 , 3 , state_Researched ) ;
14521: LD_INT 51
14523: PPUSH
14524: LD_INT 3
14526: PPUSH
14527: LD_INT 2
14529: PPUSH
14530: CALL_OW 322
// SetTech ( 52 , 3 , state_Researched ) ;
14534: LD_INT 52
14536: PPUSH
14537: LD_INT 3
14539: PPUSH
14540: LD_INT 2
14542: PPUSH
14543: CALL_OW 322
// SetTech ( 57 , 5 , state_Researched ) ;
14547: LD_INT 57
14549: PPUSH
14550: LD_INT 5
14552: PPUSH
14553: LD_INT 2
14555: PPUSH
14556: CALL_OW 322
// SetTech ( 48 , 5 , state_Researched ) ;
14560: LD_INT 48
14562: PPUSH
14563: LD_INT 5
14565: PPUSH
14566: LD_INT 2
14568: PPUSH
14569: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14573: LD_INT 49
14575: PPUSH
14576: LD_INT 5
14578: PPUSH
14579: LD_INT 2
14581: PPUSH
14582: CALL_OW 322
// SetTech ( 51 , 5 , state_Researched ) ;
14586: LD_INT 51
14588: PPUSH
14589: LD_INT 5
14591: PPUSH
14592: LD_INT 2
14594: PPUSH
14595: CALL_OW 322
// SetTech ( 52 , 5 , state_Researched ) ;
14599: LD_INT 52
14601: PPUSH
14602: LD_INT 5
14604: PPUSH
14605: LD_INT 2
14607: PPUSH
14608: CALL_OW 322
// end ; 3 :
14612: GO 14847
14614: LD_INT 3
14616: DOUBLE
14617: EQUAL
14618: IFTRUE 14622
14620: GO 14846
14622: POP
// begin SetTech ( 57 , 6 , state_Researched ) ;
14623: LD_INT 57
14625: PPUSH
14626: LD_INT 6
14628: PPUSH
14629: LD_INT 2
14631: PPUSH
14632: CALL_OW 322
// SetTech ( 58 , 6 , state_Researched ) ;
14636: LD_INT 58
14638: PPUSH
14639: LD_INT 6
14641: PPUSH
14642: LD_INT 2
14644: PPUSH
14645: CALL_OW 322
// SetTech ( 48 , 6 , state_Researched ) ;
14649: LD_INT 48
14651: PPUSH
14652: LD_INT 6
14654: PPUSH
14655: LD_INT 2
14657: PPUSH
14658: CALL_OW 322
// SetTech ( 49 , 6 , state_Researched ) ;
14662: LD_INT 49
14664: PPUSH
14665: LD_INT 6
14667: PPUSH
14668: LD_INT 2
14670: PPUSH
14671: CALL_OW 322
// SetTech ( 51 , 6 , state_Researched ) ;
14675: LD_INT 51
14677: PPUSH
14678: LD_INT 6
14680: PPUSH
14681: LD_INT 2
14683: PPUSH
14684: CALL_OW 322
// SetTech ( 52 , 6 , state_Researched ) ;
14688: LD_INT 52
14690: PPUSH
14691: LD_INT 6
14693: PPUSH
14694: LD_INT 2
14696: PPUSH
14697: CALL_OW 322
// SetTech ( 57 , 3 , state_Researched ) ;
14701: LD_INT 57
14703: PPUSH
14704: LD_INT 3
14706: PPUSH
14707: LD_INT 2
14709: PPUSH
14710: CALL_OW 322
// SetTech ( 58 , 3 , state_Researched ) ;
14714: LD_INT 58
14716: PPUSH
14717: LD_INT 3
14719: PPUSH
14720: LD_INT 2
14722: PPUSH
14723: CALL_OW 322
// SetTech ( 48 , 3 , state_Researched ) ;
14727: LD_INT 48
14729: PPUSH
14730: LD_INT 3
14732: PPUSH
14733: LD_INT 2
14735: PPUSH
14736: CALL_OW 322
// SetTech ( 49 , 3 , state_Researched ) ;
14740: LD_INT 49
14742: PPUSH
14743: LD_INT 3
14745: PPUSH
14746: LD_INT 2
14748: PPUSH
14749: CALL_OW 322
// SetTech ( 51 , 3 , state_Researched ) ;
14753: LD_INT 51
14755: PPUSH
14756: LD_INT 3
14758: PPUSH
14759: LD_INT 2
14761: PPUSH
14762: CALL_OW 322
// SetTech ( 52 , 3 , state_Researched ) ;
14766: LD_INT 52
14768: PPUSH
14769: LD_INT 3
14771: PPUSH
14772: LD_INT 2
14774: PPUSH
14775: CALL_OW 322
// SetTech ( 57 , 5 , state_Researched ) ;
14779: LD_INT 57
14781: PPUSH
14782: LD_INT 5
14784: PPUSH
14785: LD_INT 2
14787: PPUSH
14788: CALL_OW 322
// SetTech ( 48 , 5 , state_Researched ) ;
14792: LD_INT 48
14794: PPUSH
14795: LD_INT 5
14797: PPUSH
14798: LD_INT 2
14800: PPUSH
14801: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14805: LD_INT 49
14807: PPUSH
14808: LD_INT 5
14810: PPUSH
14811: LD_INT 2
14813: PPUSH
14814: CALL_OW 322
// SetTech ( 51 , 5 , state_Researched ) ;
14818: LD_INT 51
14820: PPUSH
14821: LD_INT 5
14823: PPUSH
14824: LD_INT 2
14826: PPUSH
14827: CALL_OW 322
// SetTech ( 52 , 5 , state_Researched ) ;
14831: LD_INT 52
14833: PPUSH
14834: LD_INT 5
14836: PPUSH
14837: LD_INT 2
14839: PPUSH
14840: CALL_OW 322
// end ; end ;
14844: GO 14847
14846: POP
// medal = LoadVariable ( MedValue , 0 ) ;
14847: LD_ADDR_VAR 0 1
14851: PUSH
14852: LD_STRING MedValue
14854: PPUSH
14855: LD_INT 0
14857: PPUSH
14858: CALL_OW 30
14862: ST_TO_ADDR
// if medvar = 1 then
14863: LD_VAR 0 2
14867: PUSH
14868: LD_INT 1
14870: EQUAL
14871: IFFALSE 14875
// begin end else
14873: GO 14898
// if MedVar = 2 then
14875: LD_VAR 0 2
14879: PUSH
14880: LD_INT 2
14882: EQUAL
14883: IFFALSE 14898
// SetTech ( 48 , 5 , state_Researched ) ;
14885: LD_INT 48
14887: PPUSH
14888: LD_INT 5
14890: PPUSH
14891: LD_INT 2
14893: PPUSH
14894: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14898: LD_INT 49
14900: PPUSH
14901: LD_INT 5
14903: PPUSH
14904: LD_INT 2
14906: PPUSH
14907: CALL_OW 322
// SetTech ( 50 , 5 , state_Researched ) ;
14911: LD_INT 50
14913: PPUSH
14914: LD_INT 5
14916: PPUSH
14917: LD_INT 2
14919: PPUSH
14920: CALL_OW 322
// begin end ; end ; end_of_file
14924: PPOPN 2
14926: END
// export function medale ; var RusBase , AdditionalResources ; begin
14927: LD_INT 0
14929: PPUSH
14930: PPUSH
14931: PPUSH
// if IsDead ( DepotRU1 ) then
14932: LD_INT 57
14934: PPUSH
14935: CALL_OW 301
14939: IFFALSE 14973
// begin AddMedal ( med1 , 1 ) ;
14941: LD_STRING med1
14943: PPUSH
14944: LD_INT 1
14946: PPUSH
14947: CALL_OW 101
// RusBase := 1 ;
14951: LD_ADDR_VAR 0 2
14955: PUSH
14956: LD_INT 1
14958: ST_TO_ADDR
// SaveVariable ( RusBase , Attack_behind_08 ) ;
14959: LD_VAR 0 2
14963: PPUSH
14964: LD_STRING Attack_behind_08
14966: PPUSH
14967: CALL_OW 39
// end else
14971: GO 15004
// begin AddMedal ( med1 , - 1 ) ;
14973: LD_STRING med1
14975: PPUSH
14976: LD_INT 1
14978: NEG
14979: PPUSH
14980: CALL_OW 101
// RusBase := 2 ;
14984: LD_ADDR_VAR 0 2
14988: PUSH
14989: LD_INT 2
14991: ST_TO_ADDR
// SaveVariable ( RusBase , Attack_behind_08 ) ;
14992: LD_VAR 0 2
14996: PPUSH
14997: LD_STRING Attack_behind_08
14999: PPUSH
15000: CALL_OW 39
// end ; if Researched ( 4 , tech_AdvAI ) and Researched ( 4 , tech_AdvMet ) then
15004: LD_INT 4
15006: PPUSH
15007: LD_INT 27
15009: PPUSH
15010: CALL_OW 325
15014: PUSH
15015: LD_INT 4
15017: PPUSH
15018: LD_INT 34
15020: PPUSH
15021: CALL_OW 325
15025: AND
15026: IFFALSE 15040
// begin AddMedal ( med2 , 1 ) ;
15028: LD_STRING med2
15030: PPUSH
15031: LD_INT 1
15033: PPUSH
15034: CALL_OW 101
// end else
15038: GO 15051
// begin AddMedal ( med2 , - 1 ) ;
15040: LD_STRING med2
15042: PPUSH
15043: LD_INT 1
15045: NEG
15046: PPUSH
15047: CALL_OW 101
// end ; if GlobalMedal = true then
15051: LD_EXP 23
15055: PUSH
15056: LD_INT 1
15058: EQUAL
15059: IFFALSE 15093
// begin AddMedal ( med3 , 1 ) ;
15061: LD_STRING med3
15063: PPUSH
15064: LD_INT 1
15066: PPUSH
15067: CALL_OW 101
// AdditionalResources := 1 ;
15071: LD_ADDR_VAR 0 3
15075: PUSH
15076: LD_INT 1
15078: ST_TO_ADDR
// SaveVariable ( AdditionalResources , Additional_resources ) ;
15079: LD_VAR 0 3
15083: PPUSH
15084: LD_STRING Additional_resources
15086: PPUSH
15087: CALL_OW 39
// end else
15091: GO 15124
// begin AdditionalResources := 2 ;
15093: LD_ADDR_VAR 0 3
15097: PUSH
15098: LD_INT 2
15100: ST_TO_ADDR
// SaveVariable ( AdditionalResources , Additional_resources ) ;
15101: LD_VAR 0 3
15105: PPUSH
15106: LD_STRING Additional_resources
15108: PPUSH
15109: CALL_OW 39
// AddMedal ( med3 , - 1 ) ;
15113: LD_STRING med3
15115: PPUSH
15116: LD_INT 1
15118: NEG
15119: PPUSH
15120: CALL_OW 101
// end ; GiveMedals ( MAIN ) ;
15124: LD_STRING MAIN
15126: PPUSH
15127: CALL_OW 102
// end ; end_of_file
15131: LD_VAR 0 1
15135: RET
// every 0 0$1.5 do
15136: GO 15138
15138: DISABLE
// begin enable ;
15139: ENABLE
// SetResourceType ( GetBase ( depotAM2 ) , mat_cans , GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) + 1 ) ;
15140: LD_INT 480
15142: PPUSH
15143: CALL_OW 274
15147: PPUSH
15148: LD_INT 1
15150: PPUSH
15151: LD_INT 480
15153: PPUSH
15154: CALL_OW 274
15158: PPUSH
15159: LD_INT 1
15161: PPUSH
15162: CALL_OW 275
15166: PUSH
15167: LD_INT 1
15169: PLUS
15170: PPUSH
15171: CALL_OW 277
// end ; end_of_file
15175: END
// export VehReq , VehTrans , strings ; every 0 0$01 trigger strings = true do
15176: LD_EXP 27
15180: PUSH
15181: LD_INT 1
15183: EQUAL
15184: IFFALSE 15238
15186: GO 15188
15188: DISABLE
// begin Display_Strings := [ #Am06-1 , GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) , #Am06-2 , VehReq , #Am06-3 , VehTrans ] ;
15189: LD_ADDR_OWVAR 47
15193: PUSH
15194: LD_STRING #Am06-1
15196: PUSH
15197: LD_INT 480
15199: PPUSH
15200: CALL_OW 274
15204: PPUSH
15205: LD_INT 1
15207: PPUSH
15208: CALL_OW 275
15212: PUSH
15213: LD_STRING #Am06-2
15215: PUSH
15216: LD_EXP 25
15220: PUSH
15221: LD_STRING #Am06-3
15223: PUSH
15224: LD_EXP 26
15228: PUSH
15229: EMPTY
15230: LIST
15231: LIST
15232: LIST
15233: LIST
15234: LIST
15235: LIST
15236: ST_TO_ADDR
// enable ;
15237: ENABLE
// end ;
15238: END
// every 0 0$01 do
15239: GO 15241
15241: DISABLE
// begin enable ;
15242: ENABLE
// VehReq := FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_or , [ f_control , control_manual ] , [ f_control , control_computer ] ] , [ f_or , [ f_weapon , us_double_gun ] , [ f_weapon , us_gatling_gun ] , [ f_weapon , us_heavy_gun ] , [ f_weapon , us_light_gun ] , [ f_weapon , us_machine_gun ] , [ f_weapon , us_rocket_launcher ] ] ] ) ;
15243: LD_ADDR_EXP 25
15247: PUSH
15248: LD_INT 22
15250: PUSH
15251: LD_INT 4
15253: PUSH
15254: EMPTY
15255: LIST
15256: LIST
15257: PUSH
15258: LD_INT 21
15260: PUSH
15261: LD_INT 2
15263: PUSH
15264: EMPTY
15265: LIST
15266: LIST
15267: PUSH
15268: LD_INT 2
15270: PUSH
15271: LD_INT 33
15273: PUSH
15274: LD_INT 1
15276: PUSH
15277: EMPTY
15278: LIST
15279: LIST
15280: PUSH
15281: LD_INT 33
15283: PUSH
15284: LD_INT 3
15286: PUSH
15287: EMPTY
15288: LIST
15289: LIST
15290: PUSH
15291: EMPTY
15292: LIST
15293: LIST
15294: LIST
15295: PUSH
15296: LD_INT 2
15298: PUSH
15299: LD_INT 34
15301: PUSH
15302: LD_INT 5
15304: PUSH
15305: EMPTY
15306: LIST
15307: LIST
15308: PUSH
15309: LD_INT 34
15311: PUSH
15312: LD_INT 4
15314: PUSH
15315: EMPTY
15316: LIST
15317: LIST
15318: PUSH
15319: LD_INT 34
15321: PUSH
15322: LD_INT 6
15324: PUSH
15325: EMPTY
15326: LIST
15327: LIST
15328: PUSH
15329: LD_INT 34
15331: PUSH
15332: LD_INT 3
15334: PUSH
15335: EMPTY
15336: LIST
15337: LIST
15338: PUSH
15339: LD_INT 34
15341: PUSH
15342: LD_INT 2
15344: PUSH
15345: EMPTY
15346: LIST
15347: LIST
15348: PUSH
15349: LD_INT 34
15351: PUSH
15352: LD_INT 7
15354: PUSH
15355: EMPTY
15356: LIST
15357: LIST
15358: PUSH
15359: EMPTY
15360: LIST
15361: LIST
15362: LIST
15363: LIST
15364: LIST
15365: LIST
15366: LIST
15367: PUSH
15368: EMPTY
15369: LIST
15370: LIST
15371: LIST
15372: LIST
15373: PPUSH
15374: CALL_OW 69
15378: ST_TO_ADDR
// VehTrans := FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_computer ] , [ f_weapon , us_cargo_bay ] ] ) ;
15379: LD_ADDR_EXP 26
15383: PUSH
15384: LD_INT 22
15386: PUSH
15387: LD_INT 4
15389: PUSH
15390: EMPTY
15391: LIST
15392: LIST
15393: PUSH
15394: LD_INT 21
15396: PUSH
15397: LD_INT 2
15399: PUSH
15400: EMPTY
15401: LIST
15402: LIST
15403: PUSH
15404: LD_INT 33
15406: PUSH
15407: LD_INT 3
15409: PUSH
15410: EMPTY
15411: LIST
15412: LIST
15413: PUSH
15414: LD_INT 34
15416: PUSH
15417: LD_INT 12
15419: PUSH
15420: EMPTY
15421: LIST
15422: LIST
15423: PUSH
15424: EMPTY
15425: LIST
15426: LIST
15427: LIST
15428: LIST
15429: PPUSH
15430: CALL_OW 69
15434: ST_TO_ADDR
// end ; end_of_file
15435: END
// export Poj ; every 0 0$0.2 marked 10 do var i ;
15436: GO 15438
15438: DISABLE
15439: LD_INT 0
15441: PPUSH
// begin enable ;
15442: ENABLE
// for i in Poj do
15443: LD_ADDR_VAR 0 1
15447: PUSH
15448: LD_EXP 28
15452: PUSH
15453: FOR_IN
15454: IFFALSE 15485
// begin if GetLives ( i ) < 470 then
15456: LD_VAR 0 1
15460: PPUSH
15461: CALL_OW 256
15465: PUSH
15466: LD_INT 470
15468: LESS
15469: IFFALSE 15483
// begin SetLives ( i , 470 ) ;
15471: LD_VAR 0 1
15475: PPUSH
15476: LD_INT 470
15478: PPUSH
15479: CALL_OW 234
// end ; end ;
15483: GO 15453
15485: POP
15486: POP
// end ;
15487: PPOPN 1
15489: END
